文章目录
一.Docker Compose
功能:批量容器编排(大量容器需要运行、且容器之间有依赖关系)
1. docker-compose安装
# 使用国内镜像进行安装
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
2. 初体验
1.编写源代码
2.构建镜像
3.编写yaml文件
4.启动docker-compose
docker-compose up # 启动
docker-compose down # 停止
3.yaml规则
yaml文件大致分为三层
1.版本
2.服务
3.公共配置
version: "" # 版本
service: # 服务
web:
# 服务配置
redis:
# 服务配置
# 其他配置
volumes:
network:
configs:
secrets:
4.开源项目 wordpress
5.自己编写微服务上线
1.编写项目微服务
2.dockerfile构建镜像
3.docker-compose.yaml编排项目
4.打包到服务器 docker-compose up -d
二.Docker Swarm
管理节点
工作节点
1. 集群搭建
初始化管理面节点,返回一个令牌。
docker swarm init --advertise-addr <ip>
root@zyt-vm:/# docker swarm init --advertise-addr 192.168.204.128
Swarm initialized: current node (2xj8pq1u8slt2n4c5nu51ycyv) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-4mklb4sv4t71dekk68l63ornj9rk7bdmgeqh6msdtm6onndjp9-275jjg5fwfz5ps8n59b39hkuk 192.168.204.128:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
其他节点加入
# 工作节点加入
docker swarm join-token worker # 获取令牌
docker swarm join --token SWMTKN-1-4mklb4sv4t71dekk68l63ornj9rk7bdmgeqh6msdtm6onndjp9-275jjg5fwfz5ps8n59b39hkuk 192.168.204.128:2377
# 管理节点加入
docker swarm join-token manager # 获取令牌
docker swarm join --token SWMTKN-1-4mklb4sv4t71dekk68l63ornj9rk7bdmgeqh6msdtm6onndjp9-275jjg5fwfz5ps8n59b39hkuk 192.168.204.128:2377
# 查看节点状态
docker node ls
2. Raft协议
Raft协议:保证大多数节点存活,集群才可以使用。高可用!(管理面节点>=3,存活节点>1)
3. 动态扩缩容
# 启动服务
docker service create -p 8080:80 --name myNginx nginx
# 查看服务
docker service ls
docker service ps myNginx
# 动态扩缩容
docker service update --replicas 3 myNginx # 方式一
docker service scale myNginx=1 # 方式二
# 停止服务
docker service rm myNginx
4. swarm 网络
overlay:
ingress:一个特殊的overlay网络,负载均衡
三.其他
1. Docker Stack
# 单机
docker-compose up -d wordpress.yaml
# 集群
docker stack deploy wordpress.yaml