講完 python 的基本寫法,接著就要來講一下 Dockerfile 了。
首先先建立如下的架構。
test-project
├── app.py
├── Dockerfile
└── requirements.txt
接著是每個檔案的內容。
app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return "Hello World!"
if __name__ == "__main__":
app.run()
requirements.txt
click==8.1.2
colorama==0.4.4
Flask==2.1.1
gunicorn==20.1.0
importlib-metadata==4.11.3
itsdangerous==2.1.2
Jinja2==3.1.1
MarkupSafe==2.1.1
Werkzeug==2.1.1
zipp==3.8.0
Dockerfile
FROM python:3.9.10-alpine3.15
WORKDIR /test-project
COPY * .
RUN pip install -r requirements.txt
EXPOSE 5000
CMD ["python", "app.py"]
接著我們先下個指令將 Image 建立出來。
docker build --no-cache -t my-project .
等他跑完後,然後查看一下所有的 Image ,看看有沒有多出一個新的 Image 。
docker images
正常應該會出現 my-project 的 Image ,我們先把它啟動起來看看。
docker run -it --rm -p 5000:5000 my-project
然後就可以到 http://localhost:5000 看到剛剛啟動的服務了。