docker-compose
是一个用于定义和运行多容器 Docker 应用程序的工具。它使用一个 docker-compose.yml
文件来配置应用程序的服务、网络和数据卷,并通过简单的命令来管理这些服务。以下是 docker-compose
的一些核心概念和常用命令:
docker-compose.yml
文件
docker-compose.yml
是一个 YAML 格式的配置文件,用于定义应用程序的服务、网络和数据卷。下面是一个示例:
```
version: '3'
services:
web:
image: nginx:latest
ports:
- "8080:80"
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: example
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
```
-
version
: 指定 Compose 文件的版本。 -
services
: 定义一个或多个服务,每个服务都运行一个容器。-
web
和db
: 服务名称。 -
image
: 使用的 Docker 镜像。 -
ports
: 端口映射。 -
environment
: 环境变量。 -
volumes
: 数据卷挂载。
-
-
volumes
: 定义的数据卷,用于持久化存储。
常用命令
-
启动服务
docker-compose up
-
使用
-d
选项以后台模式运行docker-compose up -d
-
-
停止服务
docker-compose down
-
使用
-v
选项删除挂载的卷docker-compose down -v
-
-
查看服务日志
docker-compose logs
-
查看特定服务的日志
docker-compose logs <service-name>
-
-
重新构建服务
docker-compose build
-
列出服务
docker-compose ps
-
查看服务配置
docker-compose config
-
执行容器内的命令
docker-compose exec <service-name> <command>
-
例如进入
web
服务的容器docker-compose exec web /bin/bash
-
-
创建服务的容器但不启动
docker-compose up --no-start