FROMpython
指定基础image,必须为DockerFile的第一条指令docker
FROM ubuntu:14.04
复制代码
LABELshell
生成后的image的相关信息ubuntu
LABEL author=vaad
LABEL email=steven199409@outlook.com
LABEL version="1.1.0"
LABEL description="This is a test try for docker"
复制代码
COPYvim
将本地文件添加到容器中,容器会自动建立cpdir目录bash
ADD test /cpdir/
复制代码
WORKDIRssh
设置命令执行的工做目录以及进入容器时所在的目录ui
WORKDIR /home/dk
复制代码
VOLUMEspa
指定持久化目录,只能指定容器的挂载目录,本地的挂载目录会随机指定code
VOLUME ["/data","testdata"]
复制代码
ENV
设置环境变量
ENV AUTHOR vaad
ENV VERSION 1.1.0
复制代码
ARG
外部启动容器后传入的参数
ARG PYTHON python3
复制代码
RUN
构建image的时候执行的命令,建议为shell格式;RUN能够用ENV和ARG的值
RUN apt-get update && \
apt-get install -y \
$PYTHON \
vim
复制代码
ENTRYPOINT && CMD
运行容器时执行的命令,建议为exec格式;CMD只能够用ENV的值,可是建议不用
方式一 只用ENTRYPOINT
ENTRYPOINT ["echo","hello"]
方式二 只用CMD
CMD ["echo","hello"]
方式三 ENTRYPOINT+CMD(建议使用的方式)
ENTRYPOINT ["echo"]
CMD ["hello","world"]
假如经过DockerFile建立了名字为vu的镜像,能够
# docker run vu
对于方式三来讲,想当于执行了echo hello world
或者
#docker run vu test
对于方式三来讲,至关于执行了echo test
复制代码
USER
指定执行命令的用户,目前还不会,须要进入容器配置
USER reet
复制代码
一个简化的Dockerfile
FROM ubuntu:14.04
MAINTAINER steven
MAINTAINER steven199409@outlook.com
LABEL version="1.1.0"
LABEL description="This is a test try for docker"
ARG PYTHON
ADD . /temp/
RUN apt-get update && apt-get install -y \
vim \
$PYTHON \
openssh-server
RUN useradd --create-home --no-log-init -G sudo wuhongwei
WORKDIR /
VOLUME ["/data"]
复制代码