微服务实战之春云与刀客(四)—— docker swarm 集群实战

  • 时间:
  • 浏览:1
  • 来源:大发幸运飞艇APP下载_大发幸运飞艇APP官方

systemctl enable docker

可能

chkconfig docker on

也能 在管理节点也能执行:

docker node ls

systemctl stop firewalld.service

为哪此也能 overlay 网络?保证多台机器不同容器之间通信!

客户端访问docker hub拉取镜像,缺省走https的,会报https://192.168.0.37:60 00镜像没找到或不趋于稳定(No such image: 192.168.0.37:60 00/cehome/operation-service:),处里方法并就有是通过nginx 加上https代理,朋友采用是另并就有是非安全方法:

参考:

https://docs.docker.com/engine/swarm/swarm-mode/https://docs.docker.com/engine/reference/commandline/service/

systemctl disable firewalld

仓库是用来存放docker镜像的,在创建和启动服务的我让你,多个节点也能 从仓库中拉取镜像。

vi /etc/hosts 把本来节点的host和ip加上。

systemctl start docker

systemctl is-enabled firewalld

1)查看要怎样加上work节点

docker swarm join-token worker

2)查看要怎样加上manager节点

docker swarm join-token manager

通时候边的命令能必须查出执行的脚本,因此拷贝到0.38并执行(即来源于0.37后边执行docker swarm join-token worker的打印结果),执行后0.38就加入了集群。

docker swarm join\

--token SWMTKN-1-3jcd5cjgwy8ct1gfyqqy8oqnokz4jjaul7el97h77qii4e6zw3-1vrjlin1bl5k9whzc4fulqfh2 192.168.0.37:2377

在manager节点0.37上部署nginx服务,服务数量为四个,公开指定端口是60 60 映射容器60 ,使用nginx镜像。这里直接会从官网下载nginx镜像,后边部署的私有仓库还用不上。

节点有192.168.0.37和192.168.0.38 本来节点,分别为管理节点和工作节点。工作节点能必须运行服务,管理节点也能必须运行服务,但比工作节点多了“管理控制”的功能,即能必须创建服务。为了处里脑裂问題报告 ,管理节点数量为1,3,5奇数。

分别在0.37和0.38上安装docker。

加上其它节点到集群,也能 先在管理节点执行如下命令,它会打印出在其它节点将要执行的涵盖token的完整版脚本。

通过 docker service ps nginx 命令查看服务分布情況。

可能目前是单管理节点,最好是备份信息,主要步骤是停止docker,备份目录/var/lib/docker/swarm/

参考:https://docs.docker.com/engine/swarm/admin_guide/#back-up-the-swarm

本文基于centos 版本7.2搭建的docker 集群,用的是17.09版本的docker。

也能 互相访问2377等端口(为方便,直接关闭防火墙,因此可能会有不可意料的事情)

docker swarm 是本来非常简单的docker 原生集群部署环境。在docker swarm 出来我让你,要搭建本来docker 集群也能 僵化 的网络运维和配置能力,而docker swarm 把这些 切都解放了。

简单来说呢,docker swarm把多个docker节点连接成本来集群,能必须认为是本来能必须互通的独立局域网,通过服务的方法管理应用的生命周期。类似有本来MyService的微服务,在单机的模式也能 你分别在本来节点上启动相应的docker 容器,而docker swarm直接就有“服务”的概念,我希望在某一管理节点上执行创建服务命令,一齐指定节点数为2,则集群自动找本来节点分别运行你的MyService微服务。当本来节点扛不住的我让你,我我让你增加到本来节点,则只也能 执行本来扩展命令就行。

docker swarm init --advertise-addr 192.168.0.37

( 多ip的情況:docker swarm init --advertise-addr ,一般要加上,因此会有网络问題报告 )

docker network create --attachable --driver overlay tiejia

--attachable 参数为了兼容单机的容器能必须加入此网络。

tiejia是网络名称。

https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm

当你节点不也能 的我让你能必须从集群剥离,

docker swarm leave -f

yum install docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm

默认情況下,会将仓库存放于容器内的/var/lib/registry目录下,本来可能容器被删除,则存放于容器中的镜像也会丢失,就说朋友一般情況下会指定本地本来目录挂载。

https://docs.docker.com/engine/swarm/how-swarm-mode-works/nodes/

https://docs.docker.com/engine/swarm/how-swarm-mode-works/services/#replicated-and-global-services

https://github.com/docker/docker.github.io/blob/master/registry/index.md