Dockerfile主要有如下指令:

  1. FROM指令:指明了当前镜像继承的基镜像。编译当前镜像时会自动下载基镜像。示例:
FROM ubuntu
  1. MAINTAINER指令:指明了当前镜像的作者。示例:
MAINTAINER xiaobai
  1. RUN指令:可以在当前镜像上执行linux命令并形成一个新的层。RUN是编译(build)时的动作。示例有两种格式,CMD和ENTRYPOINT也是如此:
RUN /bin/bash -c "echo helloworld"
RUN ["/bin/bash", "-c", "echo helloworld"]
  1. CMD指令:指明了启动镜像容器时的默认行为。一个Dockerfile里只能有一个CMD指令。CMD指令里设定的命令可以在运行镜像时使用参数覆盖。CMD是运行时(run)的动作。示例:
CMD echo "this is a test"
  1. EXPOSE指令:指明了镜像运行时的容器必须监听指定的端口。示例:
EXPOSE 8080
  1. ENV指令:可用来设置环境变量。示例:
EVN myName=xiaobai 或 EVN myName xiaobai
  1. ADD指令:是指从当前工作目录复制文件到镜像目录中去。示例:
ADD test.txt /mydir/
  1. ENTRYPOINT指令:可让容器像一个可执行程序一样运行,这样镜像运行时可以像软件一样接收参数执行。ENTRYPOINT是运行时(run)的动作。示例:
ENTRYPOINT ["/bin/echo"]