Docker 映象構建可以分享的快樂
阿新 • • 發佈:2022-03-18
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 伺服器上給別的小夥伴使用呢,是不是很便捷呀!