Dockerfile详解并构造自己的Centos镜像

Dockerfile详解

  • 构建步骤
  • 构建过程
  • Dockerfile的指令
  • 构建Centos镜像
    • 构建镜像
  • 镜像变更历史

Dockerfile用来构建docker镜像文件,定义了一切步骤,源代码。

构建步骤

  1. 编写一个dockerfile文件
  2. dcoker build构建为一个镜像
  3. docker run 运行镜像
  4. docker push 发布镜像(DockerHub)

构建过程

  1. 每个保留关键字(指令)必须都是大写字母、
  2. 执行从上到下顺序
  3. # 表示注释
  4. 每一个指令都会创建并提交一个新的镜像层。

Dockerfile的指令

FROM   #基础镜像,从这里开始构建  centos
MAINTAINER       #镜像作者,需要姓名和邮箱
RUN               #镜像构建的时候需要运行的命令
ADD      # 步骤:tomcat镜像压缩包;添加内容
WORKDIR    #镜像的工作过目录
VOLUME      #挂载的目录
EXPOSE    #保留配置的端口
CMD     #指定这个容器启动时候需要运行的命令,只有最后一个生效,可以被替代
#比如ls -a     docker run -l ,会用-l替换ls -a 
ENTRYPOINT #指定这个容器启动时候需要运行的命令,可以追加命令
#比如ls -a     docker run -l ,会在ls -a后面追加成 ls -a -l 
ONBUILD    #当构建一个被继承的DOCKERFILE,就会运行ONBUILD的指令。
COPY      #类似ADD,会将文件copy到镜像中
ENV         #构建时候设置环境变量

构建Centos镜像

构建目录mkdir dockerfile

cd dockerfile
vim mydcokerfile-centos   //创建目录
#编写进入
FROM centos
MAINTAINER lieon
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

构建镜像

构建格式:

dcoker build -f dockerfile文件名路径 -t 镜像名:[tag]

centos为例:

docker build -f mydockerfile-centos -t mycentos:1.0 .

可以检测vim和net-tools。

运行镜像

docker run -it mycentos:1.0
pwd  //查看工作的路径
vim filename //查看vim是否可以使用,官方不可用
ifconfig        //查看net-tools是否可用,官方不可用

镜像变更历史

可以查看某个镜像是如何构建的。

dcoker history [镜像id]

Dockerfile详解并构造自己的Centos镜像_第1张图片

你可能感兴趣的:(Docker,Linux,云计算,centos,docker,linux)