什么是docker-compose
批量创建多个镜像,和多个容器就是docker-compose
目的:使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具
docker-compose.yml文件介绍
yml文件类似于json文件,将所有的命令通过配置文件配置起来,可以用于配置多个。
yml文件介绍
yml文件配置
类似:json文件配置
yml文件配置参考地址:https://www.runoob.com/w3cnote/yaml-intro.html
2.1.2 yml文件配置
1、对象
例如
companies:{id: 1,name: company1,price: 200W}
或
companies:
id: 1
name: company1
price: 200W
2、数组
例如
companies: [{id: 1,name: company1,price: 200W},{id: 2,name: company2,price: 500W}]
或
companies:
-
id: 1
name: company1
price: 200W
-
id: 2
name: company2
price: 500W
3、基本变量类型 int float string boolean date datetime null
docker-compose核心配置
2.1.1 参考地址
https://docs.docker.com/compose/compose-file/
2.1.2 核心配置
version 指定compose版本 最好是3.0以上版本 目前最新是3.8版本
services 配置容器[容器列表]
nginx: #配置容器标识(唯一编号)
image: #配置容器镜像
ports: #配置容器映射端口号[数组]
networks: #配置容器网络[数组]
networks 网络指定配置
nginx-rmcore: #配置网络名称
external: true #网络自定义
volumes 数据挂载配置
extensions 扩展配置
使用docker-compose操作容器
1、下载docker-compose工具
1-1、下载地址
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
另一个下载地址
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s-uname -m` -o /usr/local/bin/docker-compose
这个步骤要等几分钟
1-2、增加Compose权限
sudo chmod +x /usr/local/bin/docker-compose
1-3、创建compose快捷方式
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
1-4、测试安装是否成功
docker-compose --version
2、创建rmcore镜像和nginx镜像
2-1、docker-compose.yml文件配置
version: '3'
services:
huiyiplatform1:
image: huiyiplatform
ports:
- 18600:18000
huiyiplatform2:
image: huiyiplatform
ports:
- 18601:18000
yaml格式检查: https://toyaml.com/index1.html
3、运行docker-compose.yml文件
3-1、切换docker-compose.yml目录
3-2、运行yml文件
docker-compose up -d
3-3、运行是否搭建成功
curl 访问链接即可
4、常见docker-compose命令
docker-compose up:启动 Compose 文件中定义的服务。可以使用 -d 参数在后台运行。
docker-compose down:停止并删除所有服务、网络、卷和镜像。
docker-compose stop:停止运行正在运行的容器。
docker-compose start:启动已经存在的容器。
docker-compose ps:列出所有的容器(包括停止的)。
docker-compose logs:查看容器的输出。
docker-compose build:重新构建服务容器。
docker-compose kill -s SIGINT:强制停止服务容器。
docker-compose port [SERVICE]:查看某个容器端口映射的公共端口。
docker-compose pause [SERVICE]:暂停一个服务容器。
使用docker-compose构建镜像
version: '3'
services:
service1:
build:
context: /usr/wwwroot/dockerfile/WebCore
image: composecore31v4.3
ports:
- 8081:80/tcp
service2:
image: composecore31v4.3
ports:
- 8082:80/tcp
command: ["dotnet", "/app/WebCore.dll"]
service3:
image: composecore31v4.3
ports:
- 8083:80/tcp
command: ["dotnet", "/app/WebCore.dll"]
nginx:
image: nginx:latest
ports:
- 80:80/tcp
- 443:443/tcp
volumes:
- /usr/wwwroot/nginx/conf.d:/etc/nginx/conf.d
- /usr/wwwroot/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- /usr/wwwroot/nginx/log:/var/log/nginx/
redis:
image: redis:latest
ports:
- 6380:6380/tcp
volumes:
- /usr/wwwroot/redis/redis.conf:/usr/local/etc/redis/redis.conf
- /usr/wwwroot/redis/data:/data:rw
command: ["redis-server", "/usr/local/etc/redis/redis.conf"]