DockerFlie官網文檔: https://docs.docker.com/engine/reference/builder/ python
Docker 倉庫地址: https://github.com/docker-library/docs 能夠借鑑參考寫 git
exec 是當前命令執行(執行完會kill當前終端) github
run shell是子進程運行(/bin/shell -c echo hello) web
在容器run的時候 默認啓動的命令 容器默認是 /bin/bash docker
CMD 是主進程啓動,是會被覆蓋的 shell
ENTRYOINT 子進程啓動,不會被覆蓋 flask
CMD ["executable","param1","param2"] 默認用這個 bash
CMD ["param1","param2"] 給ENTRYPOINT的參數 app
CMD command param1 param2 ui
LABEL 說明性數據
MANINTAINER 被LABEL取締
設置暴露端口,
EXPOSE 6379 … …
環境變量
ENV 設置執行命令時候的環境變量,構建完成,還有效
ARG 執行命令時的環境變量,構建完成後 無效 docker build --build-arg user=what_user 能夠給定義的arg傳入值(好比用戶名和密碼,手動傳入)
宿主機目錄文件拷貝到容器
COPY 拷貝文件
ADD 自動解壓文件
例子
# flask web
FROM python:alpine
COPY ./code /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
docker build . -t [取名]