什么是 docker-compose
批量创建多个镜像和多个容器
目的:是方便镜像和容器的管理
下载 docker-compose
https://github.com/docker/compose/releases
但是 github 速度太慢了,可以用 vpn 或其他下载源。
安装 docker-compose
1、windows 上下载 docker-compose-linux-x86_64
2、修改docker-compose-linux-x86_64 后缀名 docker-compose
3、上传到 Linux 这个 /usr/local/bin/docker-compose
4、授权 docker-compose
chmod +x /usr/local/bin/docker-compose
5、添加 docker-compose 快捷操作
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
输入 docker-compose 出现如下就说明成功
查看版本
docker-compose --version
docker-compose.yml 文件
docker-compose.yml 批量传输容器或镜像批量操作命令。
yml 文件类似于 json 文件,将所有的命令通过配置文件配置起来,可以用于配置多个。yml文件配置参考地址:https://www.runoob.com/w3cnote/yaml-intro.html。
docker-compose.yml 格式
json
{
"name":"dddd"
"tony":{}
"tony":[]
"tony":[{},{}]
}
yml
"name": "dddd"
"tony1":
"id": "2"
"name": "3"
"tony2":
- "2"
- "3"
"tony3":
- "2":
"id":"1"
- "3"
docker-compose.yml 指令
参考地址 https://docs.docker.com/compose/compose-file/。
核心配置
version 指定compose版本 最好是3.0以上版本 目前最新是3.8版本
services 配置容器[容器列表]
nginx: #配置容器标识(唯一编号)
image: #配置容器镜像
ports: #配置容器映射端口号[数组]
networks: #配置容器网络[数组]
networks 网络指定配置
nginx-rmcore: #配置网络名称
external: true #网络自定义
volumes 数据挂载配置
extensions 扩展配置
docker-compose.yml 配置
compose 文件夹下添加 docker-compose.yml。
version: '3'
services:
mynginx:
image: mynginx
ports:
- 8090:80
mywebapi:
image: mywebapi
ports:
- 8091:80
执行 docker-compose up -d
命令,就批量运行了两个容器。
在浏览器中就可以访问 http:// :8090/ 和 http:// :8091/WeatherForecast 地址。
也可以使用 docker-compose down
命令,批量删除容器。
查看日志docker-compose logs
批量构建镜像并运行容器
version: '3'
services:
mynginx:
build: /root/nginx
ports:
- 8090:80
mywebapi:
build: /root/webapi
ports:
- 8091:80