# 如何撰寫一份 Dockerfile

Dockerfile 是一個文字檔案,裡面包含了用來構建 Docker 鏡像的指令。

# 撰寫 Dockerfile 的步驟如下:

  1. 創建一個空白文字檔案,並將其命名為 Dockerfile
  2. Dockerfile 的第一行指定基礎鏡像
FROM ubuntu:18.04
  1. 接下來,可以使用 RUN 指令來安裝需要的套件和工具。
RUN apt-get update && apt-get install -y python3
4. 可以使用 COPY 指令將本地檔案複製到鏡像中。
COPY app.py /app/app.py
  1. 使用 CMD 指令指定鏡像啟動後預設執行的命令。
CMD ["python3", "/app/app.py"]
  1. 完成後,儲存並關閉 Dockerfile

# 構建鏡像

撰寫完 Dockerfile 後,可以使用 docker build 指令來構建鏡像

docker build -t my-app .

這樣就可以使用 docker run 指令啟動容器,並使用我們構建的鏡像

docker run -it --name my-app my-app

# 常用的 Dockerfile 指令:

  • FROM :指定基礎鏡像。
  • RUN :在鏡像中執行命令。
  • COPY :從宿主機拷貝文件到鏡像中。
  • ENV :設置環境變量。
  • EXPOSE :指定容器對外暴露的端口。
  • CMD :指定容器運行時執行的命令。
  • ENTRYPOINT :指定容器啟動時運行的命令。

ENTRYPOINT 指令會覆蓋默認的容器命令,並且在容器運行時不能被覆蓋。這使得 ENTRYPOINT 指令非常適用於定義容器的默認行為。

這些指令會在構建鏡像時被執行,並在鏡像中構建出相應的層。例如,執行 RUN 指令將在鏡像中執行命令,並將結果保存在鏡像中。
需要注意的是,Dockerfile 中的指令會按照順序依次執行,所以需要注意指令的順序。