赞
踩
什么是DockerFile ?
DockerFile就是用来构建docker镜像的构建文件!包含了若干的命令行,并支持#作为注释行,通过这个脚本可以生成一个镜像。
镜像是一层一层的,
构建步骤:
1:编写一个dockerfile文件
2:docker build构建成一个镜像
3:docker run 运行镜像
4:docker push发布镜像(Docker Hub,阿里云镜像仓库)
查下官方是怎么做的 ?
会发现很多官方的镜像都是基础包,很多功能没有,我们需要自己来通常会来自己搭建自己的镜像。
DockerFile的构建过程
基础知识:
dockerfile是面向开发的,我们以后要发布项目,做镜像,就是要编写dockerfile文件,这个文件不是很复杂
Docker镜像逐渐成为了企业的交付标准,必须要掌握!
步骤:开发,部署,运维。。。
DockerFile:构建文件,定义了一切的步骤
DockerImages:通过dockerFile构建生成的镜像,最终发布和运行的产品,原来的是jar,war包
Docker容器:容器就是运行起来提供服务的。
DockerFile的指令
- FROM # 基础镜像,一切从这里开始构建 centos
- MAINTAINER # 镜像是谁写的,姓名+邮箱
- RUN # 镜像构建时需要运行的命令
- ADD # 步骤,tomcat镜像,这个tomcat的压缩包!添加内容
- WORKDIR # 镜像的工作目录
- VOLUME # 挂载的目录
- EXPOSE # 暴露端口
- CMD # 指定这个容器启动的时候 运行的命令,只有最后一个会生效,可被替代
- ENTRYPOINT # 指定这个容器启动的时候 运行的命令,可以直接追加命令
- ONBUILD # 当构建一个被继承的DockerFile,这个时候会运行ONBUILD的指令,触发指令
- COPY # 类似ADD命令,将我们的文件拷贝到镜像中
- ENV # 构建的时候,设置环境变量
实战测试
Docker Hub中99%的镜像都是从这个基础镜像过来的 FROM scratch,然后配置需要的软件和配置来进行的构建。
创建一个自己的Centos
- # 1:编写DockerFile文件
- [root@tianliang dockerfile]# cat mydockerfile-centos
- FROM centos
- MAINTAINER tianliang<60904246@qq.com>
-
- ENV MYPATH /usr/local
- WORKDIR $MYPATH
-
-
- RUN yum -y install vim
- RUN yum -y install net-tools
-
-
- EXPOSE 80
-
- CMD echo $mypath
- CMD echo "------END----------"
- CMD /bin/bash
-
-
- #通过这个命令构建镜像
- #命令 docker build -f 文件路径 -f 镜像名:[tag]
- Sucessful built ******
- Sucessful tagget mycentos:0.1
-
- #测试运行
我们可以列出本地镜像变更历史 docker history 镜像ID
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。