上海网站设计公司电话,seo网上培训多少钱,找大学生做家教的网站,旅游网网站建设的管理Docker Compose 的详细讲解与实际应用 什么是 Docker Compose#xff1f; Docker Compose 是一个工具#xff0c;用于定义和运行多容器 Docker 应用。 通过一个 docker-compose.yml 文件#xff0c;可以同时启动多个服务#xff0c;简化多容器管理。 Docker Compose 的核心…Docker Compose 的详细讲解与实际应用 什么是 Docker Compose Docker Compose 是一个工具用于定义和运行多容器 Docker 应用。 通过一个 docker-compose.yml 文件可以同时启动多个服务简化多容器管理。 Docker Compose 的核心功能 服务定义通过 YAML 文件描述服务的构建和运行方式。网络通信服务间自动创建网络通信无需额外配置。依赖管理可以定义服务间的启动顺序。多环境支持通过 .env 文件实现环境变量管理。
实际应用场景部署微服务应用 场景一个应用有三个服务
web 服务前端 Web 应用使用 Nginx。app 服务后端服务使用 Python Flask。db 服务数据库使用 MySQL。
优化后的文件结构
myapp/
├── docker-compose.yml
├── app/
│ ├── Dockerfile
│ ├── app.py
│ └── requirements.txt
└── db/docker-compose.yml 文件
version: 3.8services:web:image: nginx:latestports:- 8080:80networks:- myapp_networkapp:build:context: ./appdockerfile: Dockerfilenetworks:- myapp_networkdepends_on:- dbdb:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: rootpasswordMYSQL_DATABASE: myappnetworks:- myapp_networknetworks:myapp_network:driver: bridgeapp/Dockerfile 文件
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
CMD [python, app.py]app/requirements.txt 文件
flask
mysql-connector-pythonapp/app.py 文件
from flask import Flaskapp Flask(__name__)app.route(/)
def hello_world():return Hello, Docker Compose!if __name__ __main__:app.run(host0.0.0.0, port5000)操作步骤 构建并启动服务docker-compose up --build查看运行的容器docker-compose ps停止服务docker-compose down查看容器日志docker-compose logs应用网络配置 Docker Compose 默认为每个项目创建独立的网络服务之间通过服务名称通信。例如app 服务可以通过 db 直接访问数据库无需额外配置 IP 地址。 扩展多环境支持 使用 .env 文件管理环境变量。在 docker-compose.yml 中通过 ${VAR_NAME} 引用环境变量。示例 .env 文件MYSQL_ROOT_PASSWORDrootpassword
MYSQL_DATABASEmyapp修改 docker-compose.ymlenvironment:MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}MYSQL_DATABASE: ${MYSQL_DATABASE}总结 Docker Compose 简化了多容器应用的管理流程通过 YAML 文件定义服务间依赖、网络和存储配置适合开发、测试和生产环境。