1.docker compose介绍
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
2.Linux安装compose
$ curl -L https://get.daocloud.io/docker/compose/releases/download/v2.4.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# 执行二进制文件
$ sudo chmod +x /usr/local/bin/docker-compose
# 创建软链
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 查看安装版本
$ docker-compose version
3.创建容器访问网络
# 创建网络名称为:my-bridge-network 网络模式为:bridge
$ docker network create -d bridge my-bridge-network
网络的介绍 参考
4.docker compose yaml配置文件
项目添加 yaml配置文件。Order.API和Product.API都添加了Dockerfile文件
version: '3.4'
services:
order:
container_name: order-service #容器名称
build:
context: .
dockerfile: ./Order.API/Dockerfile #Dockerfile相对路径
ports:
- 5195:80 #宿主机端口号:容器端口号
image: orderapi #镜像名称
volumes:
- /var/local/order:/app #映射目录
restart: always #docker启动时或容器挂掉时自动重启。
networks: #指定容器网络
- my-bridge-network #自定义创建的容器网络
product:
container_name: product-service
build:
context: .
dockerfile: ./Product.API/Dockerfile
ports:
- 5091:80
image: productapi
volumes:
- /var/local/product:/app
restart: always
networks:
- my-bridge-network
networks:
my-bridge-network:
driver: bridge #网络模式为bridge
这里配置了两个容器 order-service
,product-service
并且配置的容器间的网络为my-bridge-network
$ docker-compose up -d --build
可以看到创建了两个对应名称的镜像和容器并且已经启动了
5.docker compose 常用命令
# 获取docker compose帮助命令
$ docker-compose --help
# 启动所有服务
$ docker-compose up
# 在后台启动所有服务
$ docker-compose up -d
# 构建并启动所有容器,如果镜像不存在就构建镜像
$ docker-compose up -d --build
# 指定使用的Compose模板文件,默认为docker-compose.yml,可以多次指定。
$ docker-compose -f docker-compose.yml up -d
# 列出项目中目前的所有容器
$ docker-compose ps
# 停止正在运行的容器
$ docker-compose stop
# 停止和删除容器、网络、卷、镜像
$ docker-compose down
# 查看docker compose版本信息
$ docker-compose version
更多命令参考