docker Swarm

这篇博客介绍了如何利用Docker Swarm进行集群管理,包括初始化集群、创建网络和部署服务。重点在于如何创建一个路由网格网络,使得即使MySQL服务的IP变化,也能通过服务名稳定访问。此外,还演示了如何创建一个包含1个副本的mysql服务,并将其端口映射到主机的3306端口,以便外部访问。
摘要由CSDN通过智能技术生成

这个需求的起源是,算法需要与MySQL数据库交互,部署镜像后发现,当mysql的ip发生变化时,算法文件就要相应的修改mysql的访问ip,觉得这样很麻烦,所以调研了一下。

1. docker swarm 网络

1.1 简介

swarm是docker的容器编排工具,可以进行容器启动、停止、复制、状态监控等操作。
swarm集群包括:

  1. 管理节点Manager
  2. 工作节点Worker
    在这里插入图片描述
    swarm 中的最小的调度单位是Task,一个Task是一个容器。
    service一般是由一组相同的Task组成。

1.2 初始化集群

# 初始化集群,指定当前节点为manager
docker swarm init 
# 列出当前节点
docker node ls

在这里插入图片描述

1.3 创建网络

路由网格:该模式下服务暴露的端口会暴露在 Swarm 集群中的所有工作节点,通过访问任何一台主机的ip、域名加暴露的端口号就可以访问到该服务。

# 创建
docker network create --driver overlay mysql_net
# 查看
# “ingress”覆盖网络则为默认提供
docker network ls

在这里插入图片描述

1.4 创建服务

根据mysql镜像创建一个名为mysql的服务,该服务包含1个副本,服务映射到主机的3306端口供外部访问。

docker service create --network mysql_net --replicas 1 -p 3306:3306 --name mysql docker.io/mysql:latest
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值