- 儘量使用官方的image作爲base image!爲了安全!
- Label常用於作者和項目介紹。
- RUN 執行命令。每run一次都會增加一層在鏡像上,所以不推薦。 推薦使用&&把過個命令合成一行。如果&多個命令後,顯起來會亂,使用反斜槓進行整理\
- 爲了美觀,複雜的RUN請用反斜線換行!避免無用分層,合併多條命令成一行!
- 用WORKDIR,不要用RUN cd!儘量使用絕對目錄!
- 儘量使用ENV增加可維護性!
實戰
FROM python:2.7
LABEL maintainer="Peng Xiao<[email protected]>"
RUN pip install flask
COPY app.py /app/
WORKDIR /app
EXPOSE 5000
CMD ["python", "app.py"]
自己寫Dockerfile的步驟
- 安裝需要的庫
- 拷貝本地需要的文件到鏡像中
- 通過WORKDIR切到需要的目錄
- EXPOSE對外暴露端口
- 執行命令
- COPY 這裏“/app/”一定要注意末尾的“/”別忘加了,否則就不是目錄了,就是改名了