DockerFile

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"]
复制代码
相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息