docker-compose 入门
了解如何使用 docker 后,会发现启动一个容器需要输一行命令,这个命令还带有几个,甚至十来个参数。单是一个容器,这种情况还能处理,如果要管理多个容器,就变得非常棘手。
这时就需要使用 docker-compose 来编排应用,简化管理了。
开始
使用 docker-compose 创建容器,先要创建一个 docker-compose.yml 配置文件。
version: '3.9'
services:
nginx:
image: nginx:alpine
container_name: nginx
ports:
- "8080:80"
使用 docker-compose up 启动容器。
# 启动
docker-compose up
# 在后台启动
docker-compose up -d
# 启动三个实例
docker-compose up --scale nginx=3
# 查看日志,而不退出
docker-compose logs -f
# 停止
docker-compose stop
# 删除
docker-compose rm
# 在某个 Service 下的容器中执行命令
docker-compose exec nginx sh
可以使用 docker-compose up 启动容器测试没有问题后,再 ctrl+c 退出,重新用 docker-compose up -d 在后台启动。
配置文件介绍
配置文件采用 yml 格式,顶层主要有 version、services、networks.
- version 定义配置文件版本,目前稳定的是 3.9 版本
- services 定义服务主体,一个配置文件可以包含多个服务
- networks 定义服务 器网络,可以在不同服务之间创建虚拟交换网络
在来看单个服务配置
nginx:
image: nginx:alpine
container_name: nginx-service
restart: always
ports:
- "8888:80"