Docker镜像篇(2) - 玩转Dockerfile指令 - FRM、MAINTAINER、LABEL、COPY
什么是dockerfile?
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
Docker通过读取Dockerfile中的指令自动生成映像。
Docker以从上到下的顺序运行Dockerfile的指令。为了指定基本映像,第一条指令必须是FROM。一个声明以#字符开头则被视为注释。
Dockerfile 一般分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令.
FROM
FROM,说明在哪个镜像的基础上构造镜像,必须在第一个非注释行,为后续命令提供运行环境
MAINTAINER
已过时,提供该dockerfile的制作者信息
LABEL
用于为镜像添加元数据
使用LABEL指定元数据时,一条LABEL指定可以指定一或多条元数据,指定多条元数据时不同元数据之间通过空格分隔。推荐将所有的元数据通过一条LABEL指令指定,以免生成过多的中间镜像。
多条元数据格式
LABEL version=“1.0” description=“这是一个Web服务器” by=“IT笔录”
一条元数据格式
LABEL maintainer=“IX zx18637845633@163.com”
COPY
从宿主机复制文件或目录到容器内的指定路径,容器内的路径必须存在,不能自动创建,下面我们先来一个简单的dockerfile
首先创建一个目录img1作为dockerfile的目录
编写Dockerfile文本,将宿主机文件index.html复制到容器/data/web/html目录中
书写index.html
编写完毕,让我们开始构建第一个镜像为slowlove/ix:v0.1-1,“ ./ ”表示Dockerfile为当前目录下,“ -t” 命名标签
看到三个步骤都运行成功之后,查看镜像,可以看到镜像构造成功
简单测试,可以知道,index.html文本复制成功
刚刚我们使用copy将文本放入镜像,现在我们尝试使用copy将目录也放进镜像,首先复制yum.repos.d目录复制到当前目录下,查看是否复制成功且存在子目录
下面我们开始继续编写Dockerfile文件,将yum.repos.d的全部内容复制到容器的/etc/yum.repos.d/目录中,这个时候注意一个问题,COPY只能将指定的宿主机目录的子文件复制到宿主机,而不能包含其目录本身,因此需要在指定容器目录中指定一个存放其子目录的目录,一般与其同名
下面开始构建镜像
测试,通过查看容器的目录可以看到该目录的所有子目录文件复制成功
Docker镜像篇(1) - 轻松制作镜像 - commit
Docker镜像篇(3) - 玩转Dockerfile指令 - ADD、WORKDIR、VOLUME、EXPOSE
Docker镜像篇(2) - 玩转Dockerfile指令 - FRM、MAINTAINER、LABEL、COPY相关推荐
- 【华为云实战开发】2.Docker镜像部署怎么玩才酷炫?
1 文章目的 本文主要帮助想要或者正在使用容器部署服务的用户,如何将他们的应用部署通过DevCloud部署在华为云上. 2 概述 2.1 Docker Docker是一个开源的引擎,可以轻松的为任何应 ...
- Docker学习总结(58)——Dockerfile中,ADD和COPY的区别?
Dockerfile中的COPY指令和ADD指令都可以将主机上的资源复制或加入到容器镜像中,都是在构建镜像的过程中完成的.COPY指令和ADD指令的唯一区别在于是否支持从远程URL获取资源.COPY指 ...
- Docker学习总结(32)——Dockerfile指令详解
1.ADD 复制文件 ADD指令用于复制文件,格式为: ADD <src>... <dest> ADD ["<src>",... "& ...
- dockhub 好用的镜像_玩转docker镜像和镜像构建
摘要 本文从个人的角度,讲述对于docker镜像和镜像构建的一些实践经验.主要内容包括利用docker hub进行在线编译,下载镜像,dind的实践,对于镜像的一些思考等.本文是对当时微信分享内容的一 ...
- Dockerfile 文件结构、docker镜像构建过程详细介绍
[Docker那些事]系列文章 Dockerfile 文件结构.docker镜像构建过程详细介绍 Dockerfile文件中CMD指令与ENTRYPOINT指令的区别 构建Docker镜像指南,含实战 ...
- 【Docker】之 Dockerfile 指令详解
目录 Dockerfile 基本结构 Dockerfile 指令 指定基础镜像 FROM 维护者信息 MAINTAINER 元数据标签 LABEL 设置环境变量 ENV 镜像构建参数 ARG 指定工作 ...
- Docker镜像大小
都说容器大法好,可是假设没有Docker镜像,Docker该是多无趣啊. 是否还记得第一个接触Docker的时候,你从Docker Hub下拉的那个镜像呢?在那个处女镜像的基础上.你执行了容器生涯的处 ...
- (转)Docker镜像结构原理
以下内容转载自 https://blog.51cto.com/liuleis/2070461 第八篇:Docker镜像结构原理 base 镜像 base 镜像有两层含义: 不依赖其他镜像,从 scra ...
- SpringBoot打包成Docker镜像
1. 本文环境 Maven:3.6.3 (Maven配置参考) SpringBoot version:2.3.4.RELEASE Docker version: 19.03.11 (Docker搭建参 ...
- 基于领域知识的Docker镜像自动构建方法
点击上方蓝字关注我们 基于领域知识的Docker镜像自动构建方法 陈伟1,2, 叶宏杰1,2, 周家宏1,2, 魏峻1,2 1 中国科学院大学,北京 100190 2 中国科学院软件研究所,北京 10 ...
最新文章
- 5折交叉验证_交叉验证:评估模型表现
- C linux 深入学习 errorfunction的创建
- 第22天学习Java的笔记-继承
- delphi 中配置文件的使用(*.ini)
- css 清除浮动float 嗒嘀嗒滴 ----20181120
- 10 文件无效_新手必看!10个CAD常见问题解决技巧
- 去中心化数据基础架构Stratos融资183万美元,Spark Digital Capital等参投
- 002..NET MVC实现自己的TempBag
- 第三次小组实践作业小组每日进度汇报:2017-12-3
- oracle11数据库导入,Oracle11g数据库之数据导入导出与事物
- java工作流框架jbpm_Jbpm工作流与ssh框架集成
- 如何去掉版块前边的有无新帖图标
- 带通滤波器作用和用途_带通滤波器是什么,带通滤波器的作用
- jQuery.ajax 使用点滴
- Blender-绑定动画Auto-Rig Pro 重映射动捕FBX 小K结合 的问题以及解决
- QQ也出网页版的了- WebQQ公测中
- ios手机 苹果手机 在小程序里面长按图片 后 点击事件失效问题
- 利用Cadence Allegro强大的功能节省您调丝印的时间
- TCP 协议如何保证可靠传输?
- WiFi资源管理器:WiFi Explorer Pro for Mac