Docker高级

Docker Compose和Docker swarm让Docker更简化更智能

Docker Compose

Compose是服务编排重要的组成部分,是Docker官方的开源项目

通过Docker-Compose编写yaml配置文件,可以通过compose一键启动停止多个服务

安装

1
2
# 下载
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
1
2
# 授权
sudo chmod +x /usr/local/bin/docker-compose

yaml规则

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 分3层

# 版本
version: 3
# 服务
services:
服务1: web
# 服务配置
images:
build:
network:
服务2: web
# 服务配置
images:
build:
network:
# 其他配置 网络/卷 全局规则
volumes:
networks:
configs:

常用命令

1
2
3
4
5
6
# 启动容器后台运行
docker-compose up -d
# 停止容器
docker-compose down
# 重新部署打包,重新构建
docker-compose up --build

Docker Swarm

使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 初始化一个swarm
docker swarm init --advertise-addr ip地址

# 获取令牌
# 获取管理令牌
docker swarm join-token manager
# 获取工作令牌
docker swarm join-token worker

# 查看节点信息,只有管理能够查看
docker node ls

# 创建项目,默认一个副本
docker service create -p 80:80 --name my-nginx nginx

# 创建5个副本
docker service scale my-nginx=5

概念

Raft协议:保证大多数节点存活才可以用,集群至少大于3台服务

swarm集群的管理和编排,docker可以初始化一个swarm集群,其他节点可以加入(管理、工作者)

Node:就是一个docker节点,多个节点就组成了一个网络集群(管理、工作者)

Service:任务,可以在管理节点或者工作节点来运行

Task:容器内的命令

相关文章

Docker

Docker安装软件