Docker核心技术之Dockerfile
一、Dockerfile简介
Dockerfile其实就是根据特定的语法格式撰写出来的一个普通的文本文件 利用docker build命令依次执行在Dockerfile中定义的一系列命令,最终生成一个新的镜像(定制镜像)
二、Dockerfile 示例与使用
Dockerfile参考示例
Dockerfile使用演示 – docker build
Dockerfile使用命令 – docker build
作用: 根据dockerfile创建镜像
命令格式: docker build [OPTIONS] PATH | URL | -
命令参数: PATH Dockerfile所在路径(文件夹路径),文件名必须是Dockerfile
URL Dockerfile所在URL地址
OPTIONS: -t, --tag list 为镜像设置名称和tag
-f, --file string 指定Dockerfile的路径(这是可以使用其他名称命名Dockerfile)
三、Dockerfile 特征
Dockerfile 构建特征(一)
查看官方的Dockerfile:https://github.com/docker-library/docs
Dockerfile 构建特征(二)
Dockerfile必须具备一个FROM命令来进行构建
每一个Dockerfile命令都会构建一层镜像(本质上是每一层都会启动一个容器,执行完命令后,将容器进行提交后,产生新的镜像层)
通过查看下载下来的镜像,发现历史层信息的层ID是missing,其实是因为原本的层id只存在于构建镜像的宿主机上,一旦转移镜像后,历史层消息中将只保留最新一层的ID
四、Dockerfile 命令概述
Dockerfile 命令概述(一)
查看完整介绍
FROM: 指定基础镜像
RUN: 构建镜像过程中需要执行的命令。可以有多条。docker build
CMD:添加启动容器时需要执行的命令。多条只有最后一条生效。可以在启动容器时被覆盖和修改。
ENTRYPOINT:同CMD,但这个一定会被执行,不会被覆盖修改。
MLABELAINTAINER:表明镜像的作者。将被遗弃,被LABEL代替。
EXPOSE:设置对外暴露的端口。
ENV:设置执行命令时的环境变量,并且在构建完成后,仍然生效
ARG:设置只在构建过程中使用的环境变量,构建完成后,将消失
ADD:将本地文件或目录拷贝到镜像的文件系统中。能解压特定格式文件,能将URL作为要拷贝的文件
COPY:将本地文件或目录拷贝到镜像的文件系统中。
VOLUME:添加数据卷
USER:指定以哪个用户的名义执行RUN, CMD 和ENTRYPOINT等命令
WORKDIR:设置工作目录
Dockerfile 命令概述(二)
ONBUILD:如果制作的镜像被另一个Dockerfile使用,将在那里被执行Docekrfile命令
STOPSIGNAL:设置容器退出时发出的关闭信号。
HEALTHCHECK:设置容器状态检查。
SHELL:更改执行shell命令的程序。Linux的默认shell是[“/bin/sh”, “-c”],Windows的是[“cmd”, “/S”, “/C”]。
五、总结
重点掌握: Docker 容器与镜像之间的关系(尤其commit命令的作用和效果)
Dockerfile 的书写规则和使用规则
Docker核心技术之Dockerfile相关推荐
- 后端技术杂谈10:Docker 核心技术与实现原理
Docker 核心技术与实现原理 30 NOV 2017 docker namespaces cgroups unionfs aufs server Namespaces 进程 网络 挂载 ...
- 【重识云原生】第六章容器6.1.8节——Docker核心技术UnionFS
<重识云原生系列>专题索引: 第一章--不谋全局不足以谋一域 第二章计算第1节--计算虚拟化技术总述 第二章计算第2节--主流虚拟化技术之VMare ESXi 第二章计算第3节--主流虚拟 ...
- Docker核心技术学习笔记
Docker核心技术 文章目录 Docker核心技术 一 .Docker简介 二.Docker安装 前提说明 Docker 的基本组成 安装 centos 7 安装docker 启动hello-wor ...
- 深入剖析docker核心技术(namespace、cgroups、union fs、网络)
深入剖析docker核心技术 前言 docker概述 为什么要用docker Namespace 概述 实现 操作方法 隔离性 常用操作 Cgroups 概述 实现 配额和度量 CPU 子系统 Lin ...
- IDEA的Docker插件实战(Dockerfile篇)
IDEA的Docker插件实战(Dockerfile篇) IntelliJ IDEA的Docker插件能帮助我们将当前工程制作成Docker镜像.运行在指定的远程机器上,是学习和开发阶段的好帮手,本文 ...
- Docker核心技术
整理自<Docker技术入门与实践>(杨保华 戴王剑 曹亚仑) - Docker核心技术一文. Docker是一种基于Linux Container(LXC)技术实现的容器虚拟化技术,现又 ...
- Docker(二):Dockerfile 使用介绍
上一篇文章Docker(一):Docker入门教程介绍了 Docker 基本概念,其中镜像.容器和 Dockerfile .我们使用 Dockerfile 定义镜像,依赖镜像来运行容器,因此 Dock ...
- docker build 指定dockerfile
docker build命令会根据Dockerfile文件及上下文构建新Docker镜像. 构建上下文是指Dockerfile所在的本地路径或一个URL(Git仓库地址). 构建上下文环境会被递归处理 ...
- Docker系列07—Dockerfile 详解
Docker系列07-Dockerfile 详解 1.认识Dockerfile 1.1 镜像的生成途径 基于容器制作 dockerfile,docker build 基于容器制作镜像,已经在上篇Do ...
最新文章
- python资料免费-python 资料
- 154 Find Minimum in Rotated Sorted Array 2
- ItelliJ IDEA开发工具使用—创建一个web项目
- 解决 QtCreator 3.5(4.0)无法输入中文的问题
- django ----CBV中加装饰器
- pandas 空字符串与na区别_pandas中对nan空值的判断
- app error login.php,如何解决uniapp登录错误提示问题
- C语言中的static
- html position属性作用,CSS学习之浅谈position属性
- 原生体验挡不住!JavaScript开源跨平台框架NativeScript
- 19范数理论及其应用
- java 求集合真子集_干货 | 集合与函数概念知识点总结
- 自抗扰控制理论(一)ADRC的原理
- 对于ARX的简单介绍
- 山西农业大学计算机科学与技术分数线,山西农业大学计算机科学与技术专业2016年在湖北理科高考录取最低分数线...
- PMOS双电源供电隔离电路(USB接入为电池充电 电池断开供电)
- linux make命令error2,make命令出错,求解释。
- 强制类型转化(数组名以及数组名取地址)
- fedora17 安装配置
- 软件质量管理-1-课程介绍
热门文章
- mybatis查询报错:com.mysql.cj.exceptions.DataConversionException: Cannot determine value type from string
- 淘宝获取单笔订单信息服务端调用API及流程
- 科学处理java.lang.StackOverflowError: null异常
- Jquery DIV滚动至浏览器顶部后固定不动代码
- 2022-2028年中国光掩膜行业市场行情监测及未来前景规划报告
- python with上下文管理
- 【JavaScript总结】JavaScript语法基础:BOM
- LeetCode中等题之二倍数对数组
- LeetCode简单题之换酒问题
- 王道考研 计算机网络笔记 第六章:应用层