Docker Compose 学习笔记
简介
Docker Compose 是一个用来定义和运行多个 Docker 容器应用的工具。它通过一个 YAML 文件来配置应用的服务,并同时启动这些服务。它可以在开发、测试和生产环境中使用,使得部署变得更加方便。
安装
Docker Compose 可以在官网下载最新版本:https://docs.docker.com/compose/install/
使用
编写 Docker Compose 文件
yamlCopy Codeversion: '3'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
# 使用链接的方式连接到 redis 服务
links:
- redis
redis:
image: "redis:alpine"
上面是一个 Docker Compose 的例子,包含两个服务:web
和 redis
。其中,web
服务用于运行一个 Flask 应用,redis
服务用于运行一个 Redis 实例。在 web
服务的配置中,我们指定了构建镜像的路径、端口映射、挂载卷和与 redis
服务的链接。
构建和启动应用
bashCopy Codedocker-compose up
使用以上命令即可在当前目录下寻找名为 docker-compose.yml
的文件,然后启动该应用程序。如果想要在后台运行,可以使用 -d
参数。
bashCopy Codedocker-compose up -d
查看应用状态
bashCopy Codedocker-compose ps
使用以上命令可以查看应用程序的运行状态。
停止和删除应用
bashCopy Codedocker-compose down
使用以上命令即可停止并删除应用程序。
实例
使用 Docker Compose 部署 WordPress 应用程序
以下是一个使用 Docker Compose 部署 WordPress 应用程序的例子:
yamlCopy Codeversion: '3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data:
此示例定义了两个服务:db
和 wordpress
。db
服务使用 MySQL 镜像,wordpress
服务使用 WordPress 镜像。这两个服务通过 depends_on
关键字来关联起来。
默认情况下,WordPress 应用程序将在端口 8000
上运行。可以通过访问 http://localhost:8000
来访问该应用程序。