dockerfile 之触发器 ONBUILD
2017-07-27 23:13
99 查看
ONBUILD
该命令实际上是个触发器:也就是说 该命令 广泛用在制作基础镜像
用创建之后的基础镜像 创建其他镜像时 才会触发ONBUILD 的命令
上例子:
dockerfile创建test 文件夹
没有test文件夹
dockerfile
test dir exist
end
该命令实际上是个触发器:也就是说 该命令 广泛用在制作基础镜像
用创建之后的基础镜像 创建其他镜像时 才会触发ONBUILD 的命令
上例子:
➜ init-container git:(master) ✗ sudo docker images | grep ubuntu Password: reg.enncloud.cn/qinzhao-harbor/ubuntu-openresty v1.0.14 6f086fe82845 10 days ago 482 MB reg.enncloud.cn/qinzhao-harbor/ubuntu-openresty v1.0.13 4000 cc0eb0c97a80 10 days ago 482 MB reg.enncloud.cn/qinzhao-harbor/ubuntu-openresty v1.0.12 0e8df484698c 10 days ago 482 MB reg.enncloud.cn/qinzhao-harbor/ubuntu-openresty v1.0.11 d23b6de3058f 10 days ago 482 MB reg.enncloud.cn/qinzhao-harbor/ubuntu-openresty v1.0.10 04855cfeb6a8 10 days ago 482 MB reg.enncloud.cn/qinzhao-harbor/ubuntu-openresty v1.0.9 91e48b3eec87 10 days ago 482 MB reg.enncloud.cn/qinzhao-harbor/ubuntu-openresty v1.0.8 c1c2d7745ec7 10 days ago 482 MB reg.enncloud.cn/qinzhao-harbor/ubuntu-openresty v1.0.7 8a3bc6289887 10 days ago 482 MB reg.enncloud.cn/qinzhao-harbor/ubuntu-openresty v1.0.6 2a32db8ca175 10 days ago 482 MB reg.enncloud.cn/qinzhao-harbor/ubuntu-openresty v1.0.5 1d01da36e94d 10 days ago 482 MB reg.enncloud.cn/qinzhao-harbor/ubuntu-openresty v1.0.4 0ed1d0d2dc44 10 days ago 482 MB reg.enncloud.cn/qinzhao-harbor/ubuntu-openresty v1.0.3 c64c0639bba0 10 days ago 482 MB reg.enncloud.cn/qinzhao-harbor/ubuntu-openresty v1.0.2 ed535284a0e0 10 days ago 482 MB reg.enncloud.cn/qinzhao-harbor/ubuntu-openresty v1.0.1 bb14e8718f67 10 days ago 482 MB harbor.enncloud.cn/qinzhao-harbor/ubuntu-openresty v1.0.0 7da57fcb791f 10 days ago 482 MB reg.enncloud.cn/qinzhao-harbor/ubuntu-openresty v1.0.0 7da57fcb791f 10 days ago 482 MB harbor.enncloud.cn/qinzhao-harbor/ubuntu v1.0.1 358efbe8590e 11 days ago 473 MB harbor.enncloud.cn/qinzhao-harbor/ubuntu-python v1.0.1 97252f94a1a5 11 days ago 192 MB reg.enncloud.cn/qinzhao-harbor/ubuntu-python v1.0.1 97252f94a1a5 11 days ago 192 MB harbor.enncloud.cn/qinzhao-harbor/ubuntu-python v1.0.0 4f5da7e6c3b8 11 days ago 190 MB ubuntu latest d355ed3537e9 5 weeks ago 119 MB enreg.enncloud.cn/qinzhao-harbor/ubuntu v1.0.0 ebcd9d4fca80 2 months ago 118 MB harbor.enncloud.cn/qinzhao-harbor/ubuntu v1.0.0 ebcd9d4fca80 2 months ago 118 MB
dockerfile创建test 文件夹
➜ ONBUILD cat dockerfile FROM ubuntu:latest ONBUILD RUN mkdir test CMD echo hello docker
➜ ONBUILD sudo docker build -t harbor.enncloud.cn/qinzhao-harbor/ubuntu-onbuild:v1.0.0 -f dockerfile . Sending build context to Docker daemon 2.048 kB Step 1/3 : FROM ubuntu:latest ---> d355ed3537e9 Step 2/3 : ONBUILD run mkdir test ---> Running in a7166d0a38b1 ---> 9a9cc25858ac Removing intermediate container a7166d0a38b1 Step 3/3 : CMD echo hello docker ---> Running in b72f15fae13b ---> 3eaa15229969 Removing intermediate container b72f15fae13b Successfully built 3eaa15229969
没有test文件夹
➜ ONBUILD sudo docker run -it harbor.enncloud.cn/qinzhao-harbor/ubuntu-onbuild:v1.0.0 sh # ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
dockerfile
➜ ONBUILD cat dockerfile_mkdir_test FROM harbor.enncloud.cn/qinzhao-harbor/ubuntu-onbuild:v1.0.0 CMD ["echo","docker_onbuild"]
ONBUILD sudo docker build -t harbor.enncloud.cn/qinzhao-harbor/ubuntu-onbuild:v1.0.1 -f dockerfile_mkdir_test . Password: Sending build context to Docker daemon 3.072 kB Step 1/2 : FROM harbor.enncloud.cn/qinzhao-harbor/ubuntu-onbuild:v1.0.0 # Executing 1 build trigger... Step 1/1 : RUN mkdir test ---> Running in 6b6e1ec22051 ---> bd3877f2b6b0 Removing intermediate container 6b6e1ec22051 Step 2/2 : CMD echo docker_onbuild ---> Running in 390bfbb537ea ---> af4ffb828e30 Removing intermediate container 390bfbb537ea Successfully built af4ffb828e30
test dir exist
➜ ONBUILD sudo docker run -it harbor.enncloud.cn/qinzhao-harbor/ubuntu-onbuild:v1.0.1 sh # ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys test tmp usr var #
end
相关文章推荐
- docker 使用Dockerfile 创建带jdk 和tomcat的镜像
- docker官方镜像下载及使用Dockerfile创建镜像的方法
- 【Docker】来自官方映像的 6 个 Dockerfile 技巧
- docker 应用-2(Dockerfile 编写以及镜像保存提交)
- docker 解决:Get http:///var/run/docker.sock/v1.19/version: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?
- Dockerfile详解(二)
- Docker基础-使用Dockerfile创建镜像
- 使用Dockerfile构建Springboot项目(视频)
- 《The Docker Book》NodeJS Dockerfile
- 使用Docker run的选项以覆盖Dockerfile中的设置详解
- Docker Dockerfile详解
- DockerFile方式构建docker镜像
- 《Docker……》笔记-7 使用Dockerfile创建镜像
- php-cli扩展的dockerfile
- 【docker】基于Dockerfile构建monogdb服务镜像
- Docker Dockerfile详解
- Docker--使用Dockerfile构建新镜像--RHEL7.2
- Dockerfile文件详解
- Dockerfile 构建镜像 - 每天5分钟玩转容器技术(13)
- Docker学习总结(1)——Docker实战之入门以及Dockerfile(一)