Docker教程小白实操入门(16)--如何使用ONBUILD指令在构建下一级镜像时做些什么
一、需求
当前镜像被作为基础镜像,去构建下一级镜像时,执行一些指令
二、ONBUILD指令
# ONBUILD添加一个将来执行的触发器(trigger)
ONBUILD <其它指令>
ONBUILD
是一个特殊的指令,它后面跟的是其它指令,比如RUN
,COPY
等,而这些指令,在当前镜像构建时并不会被执行。- 只有当以当前镜像为基础镜像,去构建下一级镜像的时候才会被执行。
- 在镜像构建完成后,触发器指令会被清除,不会被子孙镜像继承。
- 在构建过程后,触发器指令会被存储在镜像详情中,其主键是
OnBuild
,可以使用docker inspect
命令查看。
三、实例
#创建一个空文件夹,并进入其中
mkdir newdir4
cd newdir4
#创建一个Dockerfile文件
touch Dockerfile#输入Dockerfile文件内容
#********** Begin *********#
#以busybox为基础镜像
echo 'FROM busybox' > Dockerfileecho 'ONBUILD RUN touch 1.txt' >> Dockerfile#********** End **********##文件内容完毕,在当前文件夹中执行
#********** Begin *********#
#以该Dockerfile构建一个名为image1的镜像
docker build -t image1 .
#********** End **********## 可以查看有哪些触发器
docker inspect image1# 创建容器
docker run image1 cat 1.txt
提示不存在1.txt文件,现在我们重新基于image1新建一个镜像
#创建一个空文件夹,并进入其中
mkdir newdir5
cd newdir5
#创建一个Dockerfile文件
touch Dockerfile#输入Dockerfile文件内容
#********** Begin *********#
#以image1为基础镜像
echo 'FROM image1' > Dockerfileecho 'RUN echo 'hello'' >> Dockerfile#********** End **********##文件内容完毕,在当前文件夹中执行
#********** Begin *********#
#以该Dockerfile构建一个名为image2的镜像
docker build -t image2 .
#********** End **********## 创建容器
docker run image2 cat 1.txt
参考:https://www.educoder.net/shixuns/zawfjtnm/challenges
Docker教程小白实操入门(16)--如何使用ONBUILD指令在构建下一级镜像时做些什么相关推荐
- 配置 Docker 镜像加速 -小白实操记录
Docker 国内仓库和镜像 由于网络原因,我们在pull Image 的时候,从Docker Hub上下载会很慢...所以,国内的Docker爱好者们就添加了一些国内的镜像(mirror),方便大家 ...
- 靠推广电话卡月入过万,适合新人小白实操的好项目,保姆级教程分享
在如今这个信息化时代,手机已经成为了人们生活中必不可少的一部分.而随着通讯技术的不断发展,电话卡也成为了人们日常生活中必不可少的一部分.而推广电话卡成为了一种新的赚钱方式,许多人通过推广电话卡月入过万 ...
- Docker教程(一)入门教程
1.什么是 Docker 官网的介绍是"Docker is the world's leading software container platform." 官方给Docker的 ...
- 小白实操ESP8266AT固件烧录,版本1.7.1,希望对爱玩ESP8266的开发小伙伴有帮助!
从官方网站下载esp8266的AT固件,版本1.7.1.烧录到开发板中,使用AT指令操作esp8266 任务列表 1.重启模块: 2.查询固件版本号: 3.修改波特率为9600: 4.扫描当前环境可被 ...
- 文件系统 fsck和e2fsck使用-小白实操记录
1 区别 e2fsck只是针对ext2.ext3.ext4等ext系列文件系统的工具,fsck支持检查各种不同的文件系统,包含ext系列文件系统. 2 e2fsck命令 指令:e2fsck 使用权限 ...
- idea设置console控制台显示内容大小-小白实操记录
操作步骤如下 File-Settings→Editor→General→Console
- IDEA如何删除项目-小白实操记录
1 项目名称上右击,点击"Remove Module"删除: 2 关闭IDEA 移除后删除 idea文件夹即可
- ntp 服务端配置(/etc/ntp.conf配置详解) -小白实操记录
1 ntp 安装查看 1.1 安装命令 apt-get install ntp 1.2 查看服务是否启动 service --status-all 或者 ps -aux | grep ntp 1.3 ...
- Ubuntu 设置timesyncd时间同步、时区、 NTP同步对时-小白实操记录
1 timesyncd时间同步 Ubuntu 内置了时间同步,默认情况下使用systemd的timesyncd服务激活. 查找服务器上date最基本命令是date . 任何用户都可以输入此命令来打印日 ...
- linux上下行网速测试-小白实操记录
speedtest是一个使用python编写的命令行脚本,通过调用speedtest.net测试上下行的接口来完成速度测试.最后我会测试运维生存时间所在服务器的外网速度. 需要python2.4-3. ...
最新文章
- html左浮动不管用图片往下放,html - 如何在HTML / CSS中水平对齐图像(浮动和显示内联块不起作用) - 堆栈内存溢出...
- PTA团体程序设计天梯赛-L2-019 悄悄关注
- MacOS开发必备工具brew,安装nginx反向代理,替代linux工具 apt-get和 yum...
- 我是如何用Worktile进行敏捷开发的
- Java基础-IO流对象之数据流(DataOutputStream与DataInputStream)
- 通过反射越过泛型检查
- python tkinter进度条_在python3.7中更新tkinter进度条
- App 留客率出炉:iPhone 大胜 Android!
- java 蓝桥杯 数字游戏
- aix升级openssh_AIX6.1上源码编译升级openssh6.6p1
- [HeadFirst-HTMLCSS学习笔记][第八章扩大你的词汇量]
- python能做的java能做吗_java – Jython不能做什么Python?
- 10个python办公黑科技,助你办公效率提高100倍
- IIS 部署.NetCore
- python xlrd 错误:xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF reco
- VB编程:UBound获取数组上限;LBound获取数组下限-25_彭世瑜_新浪博客
- wkhtmltopdf 照片不显示的问题
- 【论文】【ACL2018】Neural Document Summarization by Jointly Learning to Score and Select Sentences
- 利用pandas模块实现excel多行文本合并
- 编译原理(第二版)张素琴 课后代码 A.2 C版本
热门文章
- JMP比较组均值,检查差异
- 并行开发 5.同步机制(下)
- PHP工具篇:PHPStorm IDE使用CodeSniffer代码规范化管理
- python 函数篇(2)
- 如何理解linux多用户多任务
- LeetCode:3Sum_15
- NodeJs之npm
- c#中抽象类和接口异同
- 项目管理系统--设计篇--第五篇
- 最速下降法/steepest descent,牛顿法/newton,共轭方向法/conjugate direction,共轭梯度法/conjugate gradient 及其他