1.Dockerfile常用指令
| 指令 | 描述 |
|---|---|
| FROM | 构建新镜像是基于哪个镜像 |
| MAINTAINER | 进行维护者姓名或邮箱地址 |
| RUN | 构建镜像时运行的shell命令 |
| ENV | 设置环境变量 |
| USER | 为RUN、CMD和ENTRYPOINT执行命令指定运行用户 |
| EXPOSE | 声明容器运行的服务端口 |
| HEALTHCHECK | 容器中服务器健康检查 |
| WORKDIR | 为RUN、CMD、ENTRYPOINT、COPY和ADD设置工作目录 |
| ENTRYPOINT | 运行容器时执行,如果有多个CMD指令,最后一个生效 |
| CMD | 运行容器时执行,如果有多个CMD指令,最后一个生效 |
| ADD | 添加文件包或文件,带有解压的功能 |
| COPY | 单纯复制文件,或文件夹 |
| LABEL | 标签 |
2.1 FROM指令
-
基本语法
FROM <image>FROM <image>:<tag>
-
使用案例
# base imageFROM centos
2.2 MAINTAINER指令
-
基本语法
MAINTAINER <name>
-
使用案例
# MAINTAINERMAINTAINER shichao@scajy.cn
2.3 run指令
-
基本语法
run <要执行的命令>run <command> (shell模式)run [ "executable", "param1", "param2" ] (exec模式)
-
使用案例
run <command> (shell模式)/bin/sh -c commandCMD /bin/sh -c 'nginx -g "daemon off;"'run [ "executable", "param1", "param2" ] (exec模式)run ["/bin/bash" , "-c", "nginx -g daemon off" ]
2.4 expose指令
-
基本语法
expose <prot> [<port>...]
-
使用案例
EXPOSE 80
2.5 cmd命令
-
基本语法
cmd [ "executable" , "param1" , "param2" ] (exec模式)cmd command param1 param2 (shell模式)
-
使用案例
CMD /bin/sh -c 'nginx -g "daemon off;"'
2.6 entrypoint指令
-
基本语法
cmd [ "executable" , "param1" , "param2" ] (exec模式)cmd command param1 param2 (shell模式)
-
使用案例
ENTRYPOINT ["nginx"]
2.7 ADD指令
-
基本语法
ADD <"src"> ...<dest>ADD["<src>"..."<dest>"] (适用于文件路径中有空格的情况)COPY <src>...<dest>COPY [ "<src>"..."<dest>" ] (适用于文件路径中有空格的情况)
-
使用案例
ADD nginx-1.12.2.tar.gz /usr/local/srcCOPY index.html /usr/local/nginx/html/#执行结果[root@1-230 nginx]# curl 192.168.0.230:8082ni hao yello
2.8 VOLUME指令
-
基本语法
volume ["/data"]
2.9 workdir指令
-
基本语法
WORKDIR /path/to/workdir
-
使用案例
# change dir to /usr/local/src/nginx-1.12.2WORKDIR /usr/local/src/nginx-1.12.2
2.10 user指令
-
基本语法
USER NGINXUSER user USER uidUSER user:group USER uid:gidUSER user:gid user uid:group
2.Dockerfile构建springboot应用
1.