docker swarm + nginx服务离线部署

简述

本文为离线部署,仅供参考

swarm概述(摘抄)

Raft:一致性算法,在保证大多数管理节点存活的情况下,集群才能使用,所以就要求如果集群的话,manager节点必须>3台,如果是两个台,其中一台宕机,剩余的一台也将不可用,以致整个集群不可用。

Manager: 管理节点,用于管理工作节点。

为了利用 swarm 模式的容错特性,Docker 建议您根据组织的高可用性要求实现奇数个节点。当您有多个管理器时,您可以从管理器节点的故障中恢复而无需停机。

一个三管理器群最多可以容忍一名管理器的损失。

一个五管理器群最多可以同时丢失两个管理器节点。

一个N管理器集群最多可以容忍丢失 (N-1)/2管理器。

Docker 建议一个 swarm 最多使用七个管理器节点。

部署环境

服务 版本 备注
centos  7.5 3台
docker 20.10.17
portainer-ce汉化 2022.7.28更新 该部分内容已删除
portainer-ce 2.14.2
portainer-agent 2.14.2
nginx   1.23.1
节点 IP 作用
manager 192.168.7.30 管理节点,也快工作
node1 192.168.7.31 工作节点
node2 192.168.7.32 工作节点

安装docker

下载docker离线包,从1.12.0版本开始内置swarm

Index of linux/static/stable/x86_64/https://download.docker.com/linux/static/stable/x86_64/

[root@manager software]# tar -zxvf docker-20.10.17.tgz

docker/

docker/docker-init

docker/containerd

docker/ctr

docker/runc

docker/dockerd

docker/docker-proxy

docker/containerd-shim

docker/docker

docker/containerd-shim-runc-v2

[root@manager software]# cp docker/* /usr/bin/

[root@manager software]# vi /etc/systemd/system/docker.service

[Unit]

Description=Docker Application Container Engine

Documentation=https://docs.docker.com

After=network-online.target firewalld.service

Wants=network-online.target

[Service]

Type=notify

ExecStart=/usr/bin/dockerd

ExecReload=/bin/kill -s HUP $MAINPID

LimitNOFILE=infinity

LimitNPROC=infinity

TimeoutStartSec=0

Delegate=yes

KillMode=process

你可能感兴趣的:(linux应用服务部署,docker,nginx,运维)