docker系列之file基本操作

Posted yinfutao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker系列之file基本操作相关的知识,希望对你有一定的参考价值。

dockerfile基础操作

Dockerfile 是记录了镜像是如何被构建出来的配置文件, 可以被 docker 直接执行以创建一个镜像. 它的样子:

FROM ubuntu:14.04
MAINTAINER YS.Zou <>

ADD run /root/run
ADD sources.list /etc/apt/sources.list
ADD id_rsa.pub /tmp/pubkey
ADD requirements /root/requirements

RUN mkdir -p /root/.ssh &&     cat /tmp/pubkey >> /root/.ssh/authorized_keys &&     rm -rf /tmp/pubkey
...

CMD ["bash", "/root/run"]

  

把文件命名为 Dockerfile , 进入文件所在目录, 输入:

docker build .

就可以开始构建过程, 并且得到一个新的镜像了.

Dockerfile 支持一些很简单的命令:

FROM
以哪个镜像为基础开始构建.
MAINTAINER
作者信息.
RUN
运行一条命令.
CMD
docker run IMAGE_ID cmd 这里的默认命令.
ENTRYPOINT
docker run IMAGE_ID cmd 这里的默认命令的前面部分, run 中 cmd 可以作为后续参数.
EXPOSE
声明会用到的端口.
ENV
设置环境变量
ADD
从当前目录复制文件到容器. 会自动处理目录, 压缩包等情况.
COPY
从当前目录复制文件到容器. 只是单纯地复制文件.
VOLUME
声明一个数据卷, 可用于挂载.
USER
RUN 命令执行时的用户.
WORKDIR
RUNCMDENTRYPOINT 这些命令执行时的当前目录.
ONBUILD
前缀命令, 放在上面这些命令前面, 表示生成的镜像再次作为"基础镜像"被用于构建时, 要执行的命令.

build 的过程, 会依次执行上面的命令, 实际上, docker 做的事, 也就是从基础镜像启一个容器, 然后执行一条命令, 修改之后提交此容器为新镜像. 以此类推, 直到所有命令都执行完. 所以在得到最终构建的镜像时, 会生成很多"中间镜像". 而如果 Dockerfile 中某条命令有错, 也是在当前中止, 过程中的"中间镜像"及"当前构建用的容器"仍然存在的.

 

以上是关于docker系列之file基本操作的主要内容,如果未能解决你的问题,请参考以下文章

Docker虚拟化技术系列之-命令详解

Docker系列之基础实践篇(上)

docker系列之二:构建docker容器

Docker系列之Docker容器

docker系列之基础命令-1

Docker入门与应用系列Docker图形界面管理之Shipyard