docker compose应用实例
时间: 2024-09-28 20:00:26 浏览: 41
Docker Compose是一个工具,它允许你使用YAML文件定义和运行多个容器作为一组服务,这在微服务架构中非常常见。通过Docker Compose,你可以轻松地管理复杂的应用程序和服务,它们依赖于彼此,共享网络和数据卷。
下面是一个简单的Docker Compose应用实例:
```yaml
version: '3'
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
networks:
- mynetwork
app:
build: .
command: python manage.py runserver 0.0.0.0:5000
volumes:
- .:/code
depends_on:
- db
networks:
- mynetwork
db:
image: postgres:latest
environment:
POSTGRES_USER: example
POSTGRES_PASSWORD: password
POSTGRES_DB: mydb
networks:
- mynetwork
networks:
mynetwork:
```
在这个例子中,我们有三个服务:
- `web` 服务基于 Nginx 镜像,监听端口 80 并映射到主机,同时将本地的 nginx.conf 文件挂载到容器中,并连接到名为 `mynetwork` 的网络。
- `app` 服务是通过 Dockerfile 构建的 Python 应用,运行在 5000 端口上,并将当前目录挂载到容器内作为代码目录,同时依赖于数据库服务。它也属于 `mynetwork`。
- `db` 服务是 PostgreSQL 数据库,设置了环境变量用于认证,并同样加入到了网络 `mynetwork`。
要启动这个应用,只需在项目根目录下运行 `docker-compose up`。
阅读全文