今天介绍下Dockerfile的基本命令和使用案例
Dockerfile基本命令
1 | FROM :基础镜像,该镜像基于哪个镜像生成 |
Dockerfile使用示例
1 | FROM centos |
根据Dockerfile生辰镜像
docker build -t mycentos:v1.0 .
启动容器
docker run -it –name mycentosdk 2081f3e41884
ENTRYPOINT 案例
entrypoint可以接收 命令行参数,从而达到组合命令的效果
现在我们制作一个请求网页的镜像
1 | FROM centos |
接下来生成镜像
1 | docker build -f ./Dockerfile -t ipcheck . |
这个是进阶版本
1 | docker run --name ipcheck02 --rm ipcheck -i |
会分别看到不同的效果,-i 的启动方式会额外打印请求的头部信息。
ONBUILD 案例
当子类镜像继承父类镜像时,ONBUILD会被执行,我们将上边的Dockerfile改进下
1 | FROM centos |
然后我们生成镜像
1 | docker build -f ./Dockerfile01 -t fatherdk . |
我们再写一个子类Dockerfile
1 | FROM fatherdk |
我们生成一个子类镜像
1 | docker build -f ./Dockerfile02 -t sondk . |
可以看到构建子类镜像同时会触发父类镜像
综合运用上述命令构造tomcat镜像
先写一个Dockerfile 安装tomcat以及jdk
1 | FROM centos |
生成镜像
1 | docker build -t zacktomcat . |
运行容器
1 | docker run -d -p 9080:8080 --name myt9 -v /home/zack/dockerwork/tomcat9/test:/usr/local/apache-tomcat-9.0.10/webapps/test -v /home/zack/dockerwork/tomcat9/tomcat9logs/:/usr/local/apache-tomcat-9.0.10/logs --privileged=true zacktomcat |
在浏览器输入地址和端口9080就可以看到tomcat的首页了。
感谢关注公众号
今天的笔记就这些吧,感谢关注公众号