docker进阶篇

文章目录

  • 一.Docker Compose
    • 1. docker-compose安装
    • 2. 初体验
    • 3.yaml规则
    • 4.开源项目 wordpress
    • 5.自己编写微服务上线
  • 二.Docker Swarm
    • 1. 集群搭建
    • 2. Raft协议
    • 3. 动态扩缩容
    • 4. swarm 网络
  • 三.其他
    • 1. Docker Stack
    • 2. Docker Secret
    • 3. Docker Config

一.Docker Compose

功能:批量容器编排(大量容器需要运行、且容器之间有依赖关系)

1. docker-compose安装

参考官方文档: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. 初体验

官方Demo

1.编写源代码
2.构建镜像
3.编写yaml文件
4.启动docker-compose

docker-compose up	# 启动
docker-compose down	# 停止

3.yaml规则

官方reference

yaml文件大致分为三层
1.版本
2.服务
3.公共配置

version: ""		# 版本
service: 		# 服务
	web:
		# 服务配置
	redis:
		# 服务配置
# 其他配置
volumes:
network:
configs:
secrets:

4.开源项目 wordpress

Sample wordpress:一个开源博客

5.自己编写微服务上线

1.编写项目微服务
2.dockerfile构建镜像
3.docker-compose.yaml编排项目
4.打包到服务器 docker-compose up -d

二.Docker Swarm

管理节点
工作节点

docker进阶篇_第1张图片

1. 集群搭建

初始化管理面节点,返回一个令牌。

docker swarm init --advertise-addr 
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网络,负载均衡
docker进阶篇_第2张图片

三.其他

1. Docker Stack

# 单机
docker-compose up -d wordpress.yaml
# 集群
docker stack deploy wordpress.yaml

2. Docker Secret

3. Docker Config

你可能感兴趣的:(微服务)