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"]
複製代碼