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数据 ...
随机推荐
- 类文件的结构、JVM 的类加载过程、类加载机制、类加载器、双亲委派模型
一.类文件的结构 我们都知道,各种不同平台的虚拟机,都支持 "字节码 Byte Code" 这种程序存储格式,这构成了 Java 平台无关性的基石.甚至现在平台无关性也开始演变出 ...
- libtorrent资料整理
源码libtorrent源码地址:https://github.com/arvidn/libtorrent/releases libtorrent Java库地址:https://github.com ...
- Oracle序列Sequence用法
序列 序列(Sequence)是用来生成连续的整数数据的对象.序列常常用来作为主键中增长列,序列中的可以升序生成,也可以降序生成.创建序列的语法是:语法结构:创建序列 CREATE SEQUENCE ...
- js拖拽原理及简单实现(渣渣自学)
第一步 首先简单分析下需求吧,我们就是想实现鼠标拖拽带颜色的方块时,让方块停留在鼠标松开的位置,需要计算的就是拖拽前的坐标和拖拽后的坐标,鼠标移动后相对于原位置的偏移量=目标元素的偏移量,根据这个等式 ...
- MVC中将枚举类型数据应用到下拉列表中的方法
例如: public enum ItemTypes { Movie = 1, Game = 2, Book = 3 } 在MVC2.0中如何将以上枚举类型使 ...
- 学习go的一些笔记
反射 reflect type CfgSt struct{ Match *int64 `ini:"match"` Desc string `ini:"desc" ...
- [POJ1050]To the Max(最大子段和)
题目链接 http://poj.org/problem?id=1050 题意 求最大子矩阵和. 题解 即求二维的最大子段和.二维数组sumRec[I][j]存储原始数组数据rec[0][j] to r ...
- Gradle系列之Android Gradle插件
原文发于微信公众号 jzman-blog,欢迎关注交流. 通过前面几篇文章学习了 Gradle 基础知识以及 Gradle 插件相关的知识,关于 Gradle 及其插件相关知识请先阅读下面几篇文章: ...
- Fiddler无法抓取web项目中的http请求解决方案
问题:webform项目中对接API使用Fiddler无法获取该API的请求,该webform比较老的一个项目, 同一个API写在控制台可以抓取到请求,用web项目放在本地IIS却不行,使用IIS E ...
- vim配置汇总
目录 配置行号 显示状态栏 设置提示换行线 配置行号 set number 效果 显示状态栏 set laststatus=2 设置提示换行线 set colorcolumn=81