Docker服务部署

服务部署-Docker,Swarm,Portainer篇

docker——》swarm——》portainer

服务器 IPhostName节点
172.22.88.111app01swarm mananger 管理节点
172.22.88.112app02work node 普通节点

一、安装Docker

1、安装docker

# 1、安装docker依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 2、设置docker安装源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 3、安装docker
sudo yum install docker-ce docker-ce-cli containerd.io

# 4、加入开机自启
sudo systemctl enable docker

2、关闭SElinux

SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)

# 1、查看当前SELinux的应用模式
getenforce

# 2、查看SELinux状态,enabled为开启状态
/usr/sbin/sestatus -v

# 3、将SELINUX=enforcing改为SELINUX=disabled
vi /etc/selinux/config

# 4、使配置文件生效
systemctl daemon-reload    

# 5、重启docker
systemctl restart docker

二、Swarm安装和集群创建

1、关闭防火墙或添加白名单

关闭防火墙(2选1)

# 1、关闭防火墙
systemctl stop firewalld.service

# 2、禁止开机自启
systemctl disable firewalld.service

# 添加白名单
sudo firewall-cmd --permanent --zone=trusted --add-source= 其他work节点IP

# 如果未关闭防火墙,则开放端口

2、修改docker监听端口

Swarm是通过监听2375端口进行通信的。所有主机节点docker需要开启2375监听,docker版本不同,配置方式不一样。

# 修改配置
vim  /lib/systemd/system/docker.service
在ExecStart修改为:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock -H fd:// --default-ulimit nofile=1024000 --default-ulimit memlock=-1 --default-ulimit core=-1  --containerd=/run/containerd/containerd.sock --insecure-registry 私库地址

# 使配置文件生效
systemctl daemon-reload    

# 重启docker
systemctl restart docker

3、swarm安装及初始化

# 镜像拉取(有私有仓库则修改地址)
docker pull swarm

# 初始化swarm(创建swarm集群,生成唯一token)
docker swarm init --advertise-addr 管理节点的IP

其中,--advertise-addr参数表示其它swarm中的worker节点使用此ip地址与manager联系

# 执行后会输出包含其它节点如何加入集群的命令
Swarm initialized: current node (chr59ufheiq7ryc9992rk7v1m) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-12e1xjr67o7jo3d199tm451gqzp6ngq1k2nf1kle7k5oxhbgh5-dy6mrdjh1ohw36vrvpxn9mqk4 172.40.1.29:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

# 其他节点加入集群
docker swarm join --token SWMTKN-1-12e1xjr67o7jo3d199tm451gqzp6ngq1k2nf1kle7k5oxhbgh5-dy6mrdjh1ohw36vrvpxn9mqk4 172.40.1.29:2377

4、增加并切换用户角色组

# 增加用户组
sudo groupadd docker

# 将当前登录用户添加到用户组中
sudo gpasswd -a $USER docker

# 切换当前用户的登录群组
newgrp docker

三、安装portainer

1、创建portainer-stack.yml文件(私有仓库注意镜像地址,3及以上版本,多节点管理,高可用)

version: '3'
services:
  portainer:
    image: portainer/portainer
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "/data/portainer:/data"
    deploy:
      placement:
        constraints: [node.role == manager] # 控制管理界面部署在manager上
      replicas: 1
      restart_policy:
        condition: on-failure
      resources:
        limits:
          cpus: "0.2"
          memory: 200M
      labels: [svc=portainer]
    ports:
      - 9000:9000

当前data的挂载目录为 /data/portainer,进行创建

2、启动portainer服务

docker stack deploy -c portainer-stack.yml portainer

Stack:从体系结构上来讲,Stack 位于 Docker 应用层级的最顶端。Stack 基于服务进行构建,而服务又基于容器

3、访问portainer并修改密码(xxx为集群的任意一台ip,swarm会自动做负载均衡)

访问http://ip:port
设置用户名,密码
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值