Dockerfile基本结构

一 简介
使用docker commit来扩展一个镜像比较简单,但是不方便在一个团队中分享,所以这种方式不是很推荐。
docker还提供了一种更为灵活方便的创建镜像的方法,即使用Dockerfile文件,而且使用Dockerfile可以允许用户创建自定义的镜像。
Dockerfile由一行行命令语句组成,支持以#开头的注释。
一般来说,Dockerfile 分为四部分:
1 基础镜像信息
2 维护者信息
3 镜像操作指令
4 容器启动时执行指令

二 实战
单说有些太抽象.看个Dockerfile文件就很容易理解了.
# Docker file for Hexo 3
FROM ubuntu:16.04
MAINTAINER MUNGO
# use aliyun's mirror for faster download speed
RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
# add pandoc repository
RUN sed -i 's/deb mirror.lupaworld.com/ubuntu vivid main universe/g' /etc/apt/sources.list
# instal basic tool
RUN apt-get update && \
  apt-get install -y nodejs curl git-core pandoc yui-compressor && \
  update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10 && \
  curl -L https://npmjs.org/install.sh | sh && \
  apt-get clean && \
  rm -rf /var/lib/apt/lists/*
ENV HEXO_VERSION 3.0.0
# install hexo
RUN npm install -g hexo@${HEXO_VERSION}
# set base dir
RUN mkdir /hexo
# set home dir
WORKDIR /hexo
EXPOSE 4000
CMD ["/bin/bash"]
三 说明
从上可得,对应上面四点分别是:
1 一开始必须使用FROM指明所基于的镜像名称。
2 使用MAINTAINER说明维护者信息。
3 镜像操作指令–RUN,ENV,WORKDIR,EXPOSE。最常用的是RUN指令,它将对镜像执行跟随的命令。每运行一条RUN指令,镜像添加新的一层,并提交。
4 最后是 CMD 指令,来指定运行容器时的操作命令。
RUN sed是为了在创建镜像时下载可以快些,指定了使用阿里云的镜像。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值