Dockerfile-常用指令及使用
Dockerfile常用指令及使用
1. dockerfile介绍

2. 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 image FROM centos
2.2 MAINTAINER指令
- 
基本语法 MAINTAINER <name>
- 
使用案例 # MAINTAINER MAINTAINER shichao@scajy.cn
2.3 run指令
- 
基本语法 run <要执行的命令> run <command> (shell模式) run [ "executable", "param1", "param2" ] (exec模式)
- 
使用案例 run <command> (shell模式) /bin/sh -c command CMD /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/src COPY index.html /usr/local/nginx/html/ #执行结果 [root@1-230 nginx]# curl 192.168.0.230:8082 ni hao yello
2.8 VOLUME指令
- 
基本语法 volume ["/data"]
2.9 workdir指令
- 
基本语法 WORKDIR /path/to/workdir
- 
使用案例 # change dir to /usr/local/src/nginx-1.12.2 WORKDIR /usr/local/src/nginx-1.12.2
2.10 user指令
- 
基本语法 USER NGINX USER user USER uid USER user:group USER uid:gid USER user:gid user uid:group
2.11 ONBUILD指令
- 
基本语法 ONBUILD [INSTRUCTION]
3. 构建镜像
- 
docker build镜像 Usege:docker build [OPTIONS] PATH | URL | - [flags] OPTIONS: -t:--tag list #镜像名称 -f:--flie string #指定dockerfile文件位置 案例: docker build . docker build -t test/v1 . docker build -t test/v1 -f /path/Dockerfile docker build -t test/v1 http://xxxx.example.com/Dockerfile
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号