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
Dockerfile常用指令及使用的更多相关文章
- 第 3 章 镜像 - 016 - Dockerfile 常用指令
Dockerfile 常用指令 1.FROM 指定base镜像2.MAINTAINER 设置镜像的作者,可以为任意字符串3.COPY 从build context 复制到镜像 COPY 支持两种形式: ...
- Dockerfile 常用指令 - 每天5分钟玩转 Docker 容器技术(16)
是时候系统学习 Dockerfile 了.下面列出了 Dockerfile 中最常用的指令,完整列表和说明可参看官方文档. FROM指定 base 镜像. MAINTAINER设置镜像的作者,可以是任 ...
- Dockerfile 常用指令
下面列出了 Dockerfile 中最常用的指令,完整列表和说明可参看官方文档. FROM指定 base 镜像. MAINTAINER设置镜像的作者,可以是任意字符串. COPY将文件从 build ...
- 转 Dockerfile 常用指令 - 每天5分钟玩转 Docker 容器技术(16)
是时候系统学习 Dockerfile 了. 下面列出了 Dockerfile 中最常用的指令,完整列表和说明可参看官方文档. FROM指定 base 镜像. MAINTAINER设置镜像的作者,可以是 ...
- Dockerfile常用指令说明
具体解释:https://blog.csdn.net/achenyuan/article/details/80231922 将dockerfile文件和生成好的jar 使用ftp工具上传到linux服 ...
- Dockerfile常用指令
FROM 构建的新镜像基于那个镜像 , FROM ubuntu:14 MAINTAINER 镜像维护者姓名或邮箱地址 RUN CMD EXPOSE 声明容器运行服务的端口 ENV ADD 拷贝文件 ...
- Docker学习笔记_Dockerfile常用指令
Dockerfile常用指令
- Docker的使用初探(一):常用指令说明
目录 Docker的使用初探(一):常用指令说明 为什么要用Docker Docker的安装与简单使用 国内镜像加速 常用指令 Docker的使用初探(一):常用指令说明 前几个星期实践的了,再不记录 ...
- Docker Compose 配置文件常用指令
Docker Compose 配置文件常用指令 YAML文件格式及编写注意事项 YAML是一种标记语言很直观的数据序列化格式,可读性高.类似于XML数据描述语言,语法比XML简单的很多. YAML数据 ...
随机推荐
- 07vue 自定义全局组件 通用流程
1.全局组件的目录 2.loading/index.js import LoadingComp from './Loaiding' const compName=LoadingComp.name // ...
- [Oracle/sql]查看当前用户名下有多少表 以及查看表字段信息
SQL> select table_name from user_tables order by table_name; TABLE_NAME ------------------------- ...
- 20190923-10Linux进程线程类 000 018
进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源. ps 查看当前系统进程状态 ps:process status 进程状态 1.基本语法 ps ...
- nginx高可用
15.1. 传统的高可用思路 tomcat的高可用的思路,是在tomcat集群前面加一层负载服务nginx.如下图 这种做法,解决了tomcat的高可用问题.但是引入了前面的负载机器的高可用问题(Ng ...
- leetcode题目,个人见解1
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头. 示例 1: 输入 ...
- centos7使用Minikube“快速搭建“出Kubernetes本地实验环境(踩坑集锦及解决方案)
先决条件(先假设你做完这两步骤) 检查Linux是否支持虚拟化,验证输出是否为非空如何开启虚拟化 grep -E --color 'vmx|svm' /proc/cpuinfo 安装 kubectl ...
- 你还记得 Tomcat 的工作原理么
SpringBoot 就像一条巨蟒,慢慢缠绕着我们,使我们麻痹.不得不承认,使用了 SpringBoot 确实提高了工作效率,但同时也让我们遗忘了很多技能.刚入社会的时候,我还是通过 Tomcat 手 ...
- 升级微服务架构5:API网关
API网关是一个服务器,是系统的唯一入口.从面向对象设计的角度看,它与外观模式类似.API网关封装了系统内部架构,为每个客户端提供一个定制的API.它可能还具有其它职责,如身份验证.监控.负载均衡.缓 ...
- C#开发PACS医学影像处理系统(十六):2D处理之影像平移和缩放
1.平移,利用WPF中控件边距来控制位移: /// <summary> /// 平移图像 /// </summary> /// <param name="X&q ...
- 分布式系统监视zabbix讲解四之可视化
图形 概述 随着大量的监控数据被采集到Zabbix中,如果用户可以以可视化的表现形式来查看发生了什么事情,那么和仅仅只有数字的表现形式比起来则更加轻松. 以下是进行图形设置的地方.图形可以一目了然地掌 ...