Docker学习(六):Dockerfile创建镜像

一、Dockerfile介绍

Dockerfile是一个文本格式的配置文件,用户可以使用Dockerfile来快速创建自定义的镜像

二、Dockerfile基础结构

Dockerfile由一行行命令语句组成,并且支持以#开头的注释行

一般而言,Dockerfile分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令

# This dockerfile uses ubuntu image
# VERSION 2 - EDITION 1
# Author: docker_user
# Command format: Instruction [arguments / command] ..

FROM centos/python-36-centos7:latest
MAINTAINER luozelin

RUN echo "deb http://archive.ubuntu.com/ubuntu/ raring main universe" >> /etc/apt/sources/list
RUN apt-get update && apt-get install -y nginx
RUN echo "\ndaemon off;" >> /etc/nginx/nginx.conf

CMD /usr/sbin/nginx

一开始指明所基于的镜像名称,接下来一般是说明维护者信息。后面则是镜像操作指令,例如RUN指令,RUN指令将对镜像执行跟随的命令。每运行一条RUN指令,镜像就添加新的一层,并提交。最后是CMD指令,用来指定运行容器时的操作命令。

三、Dockerfile指令说明

指令的一般格式为INSTRUCTION arguments,指令包括 FROM、MAINTAINER、RUN等

指令 说明 命令
FROM 指定所创建镜像的基础镜像 FROM centos:latest
MAINTAINER 指定维护者信息 MAINTAINER luozelin
RUN 运行镜像时运行的Shell命令

RUN ["yum","install","httpd"]

RUN yum install httpd

CMD 指定启动容器时默认执行的Shell命令

CMD ["-c","/start.sh"]

CMD ["/usr/sbin/sshd","-D"]

CMD /usr/sbin/sshd -D

LABEL 指定生成镜像的元数据标签信息  
EXPOSE 声明镜像内服务所监听的端口 EXPOST 80 443
ENV 指定容器内的环境变量 ENV MYSQL_ROOT_PASSWORD 123456
ADD 复制指定的<src>路径下的内容到容器中的<dest>路径下,<src>可以为URL;如果为tar文件,会自动解压到<dest>路径下

ADD &l

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值