17-DockerFile常用指令
DockerFile常用指令
1. FROM关键字
作为dockerfile的第一句,指定基础镜像。
FROM 镜像名:tag |
2. MAINTAINER关键字(可选)
描述镜像维护者的姓名和邮箱地址。
3. RUN关键字
容器在build时执行的指令。(docker build
)
-
shell格式(推荐)
RUN shell命令 |
-
exec格式
RUN ["可执行文件","参数1","参数2"] |
4. EXPOSE关键字
当前容器对外暴露的端口。
EXPOSE 端口号 |
5. WORKDIR
创建容器后,终端默认登录进来的工作目录(落脚点)。
WORKDIR /myspace/tomcat |
6. USER
以什么样的用户去执行镜像,默认为root。
USER root |
7. ENV
作用于本dockerfile中的环境变量,构建后在后续指令中便于使用。
ENV CATALINE_HOME /usr/local/tomcat |
8. VOLUME
指定容器数据卷。
``` |
10. COPY
将宿主机中的文件或目录拷贝到镜像中。
COPY src dest |
11. CMD
容器启动后执行的指令。只会执行最后一条CMD
指令。
CMD cataline.sh run |
注意:会被docker run
后的参数覆盖。如果docker run... /bin/bash
则会不执行CMD
后的指令。
12. ENRTRYPOINT
同样时容器启动后执行的指令,但不会被docker run
后的命令覆盖。
另外,如果后面跟CMD,将会把CMD中的参数作为默认参数传递给当前命令,如果有传参,则会覆盖该参数。
案例
FROM ubuntu |
是否传参 | 传参执行 |
---|---|
默认命令 | myscript.sh arg1 arg2 |
Docker命令传参 | docker run myimage arg3 arg4 |
实际命令 | myscript.sh arg3 arg4 |
发布于