- 创建名为
helloworld-python
的新目录,并转到此目录中:
from flask import Flask
app = Flask(name)
@app.route('/') def hello_world(): return 'Hello World!'
if name == "main":
app.run(debug=True, host='0.0.0.0', port=80)
:::
以上代码会创建一个基本的 Web 服务器,并监听 80
端口。
- 在项目根目录下,创建一个名为
Dockerfile
的文件,内容如下:
RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone
安装依赖包,如需其他依赖包,请到alpine依赖包管理(https://pkgs.alpinelinux.org/packages?name=php8*imagick*&branch=v3.13)查找。
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tencent.com/g' /etc/apk/repositories \
&& apk add --update --no-cache python3 py3-pip
&& rm -rf /var/cache/apk/*
COPY . /app
WORKDIR /app
RUN pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple
&& pip config set global.trusted-host mirrors.cloud.tencent.com
&& pip install --upgrade pip \
pip install scipy 等数学包失败,可使用 apk add py3-scipy 进行, 参考安装 https://pkgs.alpinelinux.org/packages?name=py3-scipy&branch=v3.13
&& pip install --user -r requirements.txt
EXPOSE 80
CMD ["python3", "run.py", "0.0.0.0", "80"]
:::
2. 添加一个 .dockerignore
文件,以从容器映像中排除文件:
::: docker
Dockerfile
README.md
*.pyc
*.pyo
*.pyd
pycache
.pytest_cache
:::
- 如果您本地已经安装了 Docker,可以运行以下命令,在本地构建 Docker 镜像: