1. 程式人生 > 其它 >Docker 映象構建可以分享的快樂

Docker 映象構建可以分享的快樂

Docker 映象構建

新建 app.py 檔案

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello World! Hogwarts.'

本程式碼主要功能是當我們訪問頁面的時候顯示一段文字“Hello World! Hogwarts.”。
新建 Dockerfile-build 檔案

FROM python:3.7-alpine
LABEL maintainer="hogwarts"

# 工作路徑設定為 /code
WORKDIR /code

# 複製 app.py 到容器內 /code 目錄
COPY app.py /code
     
# 建立環境變數給 Flask 使用
ENV FLASK_APP app.py
ENV FLASK_RUN_HOST 0.0.0.0

# 安裝 gcc 工具、python 的依賴
RUN apk add --no-cache gcc musl-dev linux-headers && pip install flask

# 對映埠
EXPOSE 5000

STOPSIGNAL SIGTERM
# 為容器設定預設啟動命令
CMD ["flask", "run"]

使用 build 命令構建映象,

docker build -f Dockerfile-build -t app:v1.0 .

  • 預設 Dockerfile 要在當前目錄下,才可以直接執行 docker build。
    如果 Dockerfile 在別的路徑下面則需要新增-f引數指定Dockerfile的路徑。
  • -t app:v1.0:指定構建的映象名字
  • .:構建映象時的上下文目錄。固定寫法,構建映象時要先切換到放有 Dockerfile 的目錄下。

    映象構建完成後,就可以使用新映象提供服務啦。可以使用 docker images | grep app 來檢視生成的映象。

    我們可以通過 docker run 命令啟動我們自己構建的映象噢。最後通過瀏覽器訪問 http://你的IP:5000
     來訪問啟動的服務。
docker run --name app -p 5000:5000 app:v1.0

最後,我們自己構建的映象可以通過 docker save 命令匯出給別的小夥伴使用,還可以用 docker push 命令推送到 registry 伺服器上給別的小夥伴使用呢,是不是很便捷呀!