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数据 ...
随机推荐
- termux 进阶
直接正题. 1.优化键位: mkdir $HOME/.termux echo "extra-keys = [['ESC','/','-','HOME','UP','END','PGUP'], ...
- Redis数据类型读写语法
---字符类型的用法(语法大小写不做限制)1.创建string字符串写:SET 列名 "键值"读:get 列名特性:可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存 ...
- 跟着尚硅谷系统学习Docker-【day06】
day06-20200720 p24.dockerfile案例编写-1 1.创建好容器时,进去容器的时候,修改所在的当前目录. 2.新添加命令.支持vim.ifconfig 备注:原来的镜像容器默 ...
- 20190923-08Linux压缩和解压类 000 016
gzip/gunzip 压缩 1.基本语法 gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件) gunzip 文件.gz (功能描述:解压缩文件命令) 2.经验技巧 (1)只能压缩文 ...
- jenkins参数传递
官方说明:https://wiki.jenkins.io/display/JENKINS/Parameterized+Build 1.添加参数传递 参数类型解析: 2.在 Execute shell ...
- Combine 框架,从0到1 —— 4.在 Combine 中使用计时器
本文首发于 Ficow Shen's Blog,原文地址: Combine 框架,从0到1 -- 4.在 Combine 中使用计时器. 内容概览 前言 使用计时器执行周期性的工作 将计时器转换为计时 ...
- Solr专题(二)详解Solr查询参数
一.前言 上节我们讲到了怎样去搭建solr服务,作为全文检索引擎,怎样去使用也是比较关键的.Solr有一套自己的查询方式,所以我们需要另外花时间去学习它的这套模式. 启动solr solr start ...
- 《Java从入门到失业》第四章:类和对象(4.1):初识类和对象
4类和对象 在第一章曾经简单介绍过,在面向对象的世界里,一切事物皆对象,当解决一个问题的时候,我们先会考虑这个问题会涉及到哪些事物,然后把事物抽象成类,当时还画了一张图如下: 从本章开始,我们一点一点 ...
- 渣渣的Leetcode之旅(Python3)_1.两数之和
题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标.你可以假设每种输入只会对应一个答案.但是,数组中同一个元素不能使用两遍 ...
- linux下ftp如何使用
linux下ftp可以上传.下载文件 centos7环境: 1.检查是否安装过ftp服务 rpm -qa|grep vsftpd 如果没有输出则表示没有安装过 安装ftp yum -y install ...