Docker Compose 示例
下面是一个使用 Docker Compose 部署 Flask 应用程序的示例。
首先,创建一个名为 app
的文件夹,并在其中创建一个名为 app.py
的文件,其中包含以下 Flask 应用程序代码:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run(host='0.0.0.0')
然后,在 app
文件夹中创建一个名为 Dockerfile
的文件,其中包含以下内容:
FROM python:3.9
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "app.py"]
接下来,在 app
文件夹中创建一个名为 requirements.txt
的文件,其中包含以下 Flask 应用程序的依赖项:
Flask==2.0.0
现在,创建一个名为 docker-compose.yml
的文件,并在其中定义 Flask 应用程序的服务:
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/app
depends_on:
- db
db:
image: postgres:13.3-alpine
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: example
POSTGRES_DB: mydatabase
在这个文件中,我们定义了两个服务:web
和 db
。web
服务使用本地 Dockerfile 构建,将容器端口 5000
映射到主机端口 5000
,将本地文件夹挂载到容器中的 /app
目录,并声明依赖于 db
服务。db
服务使用远程 Docker 镜像 postgres:13.3-alpine
,并设置 PostgreSQL 数据库的用户名、密码和数据库名称。
最后,使用以下命令启动服务:
代码语言:javascript复制docker-compose up
这将创建并启动 web
和 db
服务,并将 Flask 应用程序监听的端口 5000
映射到主机端口 5000
。
现在,可以在浏览器中访问 http://localhost:5000
,应该可以看到 "Hello, World!" 的消息。