Docker - Dockerfile

5b73e0e9000101bb19201080.jpg (1920×1080)

  • 儘量使用官方的image作爲base image!爲了安全!

5b7e629b0001956719201080.jpg (1920×1080)

  • Label常用於作者和項目介紹。

5b7e632800010f8819201080.jpg (1920×1080)

  • RUN 執行命令。每run一次都會增加一層在鏡像上,所以不推薦。 推薦使用&&把過個命令合成一行。如果&多個命令後,顯起來會亂,使用反斜槓進行整理\
  • 爲了美觀,複雜的RUN請用反斜線換行!避免無用分層,合併多條命令成一行!

5b7e6f040001d5a419201080.jpg (1920×1080)

  • 用WORKDIR,不要用RUN cd!儘量使用絕對目錄!

5b73e2a80001d48119201080.jpg (1920×1080)

5b7e6f8d00011bc419201080.jpg (1920×1080)

5b7e6fd10001138c19201080.jpg (1920×1080)

  • 儘量使用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的步驟

  1. 安裝需要的庫
  2. 拷貝本地需要的文件到鏡像中
  3. 通過WORKDIR切到需要的目錄
  4. EXPOSE對外暴露端口
  5. 執行命令
  • COPY 這裏“/app/”一定要注意末尾的“/”別忘加了,否則就不是目錄了,就是改名了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章