在Day7 映像檔(image) 常用指令一文中
我們有說到,利用 Dockerfile 建立映像檔的部分
Dockerfiles 是用於定義 Docker 容器映像的文本文件。可以被視為容器的使用說明書,告訴 Docker 應該如何建構容器映像。一個 Dockerfile 包含了一系列指令,這些指令描述了如何構建容器映像。
當我們在DockerHub找不到符合我們需求的映像檔,那麼就自己寫吧 ~
Dockerfile 中每一行指令用來構成映像檔的雛型,當然,我們也可以參考別人分享的Dockerfile,進而加上我們所需要的條件,形成專屬的Dockerfile !
FROM python:3.6-slim # 指定base image,此為 python3.6 的基底映像
COPY . /data # 目前資料夾中的檔案,複製至映像檔中 /data資料夾
WORKDIR /data # 執行目錄 /data ( 預設docker執行起來的目錄位置)
MAINTAINER Linus <linustest@gmail.com> # 維護者資訊
RUN pip3 install -r requirements.txt # pip3 install requirements.txt裡的套件 (用來執行映像檔內的任何指令)
CMD ["python", "test.py"] # 執行指令: python test.py (指定Instance啟動後所要執行的指令)
在Docker ile中,其他上見的指令包誇:
ADD 目前資料夾中的檔案,複製至映像檔中,與Copy不同於,若來源為.tar檔案,可自動解壓縮
例如:
ADD test-configs.tar.gz /usr/data
EXPOSE 設定開放埠號(PORT),但在docker run時需要下expose參數
例如:
EXPOSE 8000
Run 執行在映像檔內的任何指令