DockerFile的介绍
狂神:
dockerfile
是用来构建docker
镜像的文件命令参数脚本。狂神:
dockerfile
是面向开发的,我们以后要发布项目,做镜像,就需要编写dockerfile
文件狂神:
Docker
镜像逐渐成为企业交付的标准,必须要掌握!
DockerFile:构建文件,定义了一切的步骤,源代码
DockerImage:通过 DockerFile 构建生成的镜像,最终发布和运行的产品。
DockerContainer:容器就是镜像运行起来提供服务的。
DockerFile的指令
FROM # 指定基础镜像(一切从这里开始构建)
MAINTAINER # 指定维护者信息(镜像是谁写的,姓名+邮箱)
RUN # 镜像构建的时候需要运行的命令/指定容器启动后要做的事情
ADD # COPY文件,会自动解压(步骤:tomcat镜像,这个tomcat压缩包,添加内容)
WORKDIR # 设置当前工作目录(镜像的工作目录)
VOLUME # 设置卷,挂载主机目录(挂载的步骤)
EXPOSE # 指定对外的端口(保留端口配置)
CMD # 指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT # 指定这个容器启动的时候要运行的命令,可以追加命令
ONBUILD # 当构建一个被继承 DockerFile 这个时候就会运行 ONBUILD的指令。触发指令
COPY # 类似ADD,将文件拷贝到镜像中
ENV # 构建的时候设置环境变量
DockerFile构建过程
1、每个保留关键字(指令)都必须是大写字母
2、执行从上到下顺序执行
3、
#
表示注释4、每一个指令都会创建提交一个新的镜像层,并提交
示例:centos的dockerfile
FROM scratch
MAINTAINER The CentOS Project <[email protected]>
ADD c7-docker.tar.xz /
LABEL name="CentOS Base Image" \
vendor="CentOS" \
license="GPLv2" \
build-date="2016-03-04"
# Volumes for systemd
# VOLUME ["/run", "/tmp"]
# Environment for systemd
# ENV container=docker
# For systemd usage this changes to /usr/sbin/init
# Keeping it as /bin/bash for compatability with previous
CMD ["/bin/bash"]
构建步骤:
1、编写一个dockerfile文件
2、docker build构建成为一个镜像
3、docker run运行镜像
4、docker push发布镜像(DockerHub、阿里云镜像仓库)
1、创建一个目录dockerfile
,编写dockerfile文件:mydockerfile-centos
FROM centos
MAINTAINER harley<[email protected]>
# 设置环境变量MYPATH
ENV MYPATH /usr/local
# 设置工作目录(docker run -it运行镜像之后所在的目录)
WOEKDIR $MYPATH
# 安装vim、net-tools
RUN yum -y install vim
RUN yum -y install net-tools
# 暴露80端口
EXPOSE 80
CMD echo $MYPATH
CMD echo "-----end-----"
CMD /bin/bash
2、docker build构建成为一个镜像
docker build -f mydockerfile-centos -t mycentos:0.1 .
mydockerfile-centos:dockerfile文件路径
mycentos:0.1镜像名
3、docker run运行镜像:docker run -it mycentos:0.1
标签:centos,dockerfile,构建,镜像,Docker,DockerFile,docker From: https://www.cnblogs.com/harleyblogs/p/17542555.html