Docker-Compose
项目是
Docker
官方的开源项目
,
负责实现对
Docker
容器集群的快速编排
通过编写
docker-compose
文件可对多个服务同时进行启动
/
停止
/
更新
(
可定义依赖
,
按顺序启动服务
)
docker-compose
将所管理的容器分为
3
层结构:
![](https://i-blog.csdnimg.cn/blog_migrate/fce255a046c654cd8f239a2e82e25f88.png)
docker-compose.yml
组成一个
project,project
里包括多个
service,
每个
service
定义了容器运行的镜像(或构建镜像)
Docker-Compose 的工程配置文件默认为 docker-compose.yml
三步过程
1)
用
dockerfile,
或者镜像定义应用程序的环境
,
以便在任何地方复制
.
2)
在
docker-compose.yml
中定义组成应用程序的服务
,
以便它们可以在单独的环境中一起运行
.
3)
运行
docker compose up
启动并运行整个应用程序
docker-compose安装与配置
上传文件
将
docker-compose-Linux-x86_64
重命名为
docker-compose
将刚才下载的
docker-compose
文件上传到
centos7
的
/usr/local/bin/
目录下
cd / usr / local / bin
添加可执行权限
chmod + x / usr / local / bin / docker - compose
docker-compose.yml 配置文件基本介绍
version:
指定
docker-compose.yml
文件的写法格式
Compose
目前有三个版本分别为
Version 1,Version 2,Version 3,Compose
区分
Version 1
和
Version 2
(
Compose 1.6.0+,Docker Engine 1.10.0+
)
.Version 2
支持更多的指
令
.Version 1
将来会被弃用
.
services
:多个容器集合
services
:
容器
1
:
容器
2
:
image
:镜像名称或镜像
ID.
如果镜像在本地不存在
,Compose
将会尝试拉取镜像
build
:服务除了可以基于指定的镜像
,
还可以基于一份
Dockerfile,
在使用
up
启动时执行构建任务
,
构建标签是
build,
可以指定
Dockerfile
所在文件夹的路径
.Compose
将会利用
Dockerfile
自动构建镜像
,
然后使用镜像启动服务容器
hostname
:启动高可用(集群)微服务时
,
必须与代码配置中的
spring.profiles
属性一致
.
network_mode
:配置服务容器的网络模式
environment
:环境变量配置
,
可以用数组或字典两种方式
![](https://i-blog.csdnimg.cn/blog_migrate/10b5402610728da098c611340240ea8c.png)
docker-compose 基本指令
查看版本信息
docker-compose -v
构建并启动容器
docker - compose up
启动单个服务
docker - compose up 服务名称
后台启动服务docker - compose up - d
停止和删除容器、网络、卷、镜像
docker - compose down
启动指定服务或启动所有服务
docker - compose start [ 服务名称 ]
停止指定服务或停止所有服务
docker - compose stop [ 服务名称 ]
列出所有运行容器
docker - compose ps
进入指定容器
docker - compose exec
删除所有(停止状态的)服务容器
docker - compose rm
-f
:强制直接删除
,
包括非停止状态的容器
-v
:删除容器所挂载的数据卷