使用Portainer管理多台服务器的docker

  1. 下载Portainer镜像(选择多台中的某一台作为管理端master)

    #不指定版本,默认最新latest
    docker pull portainer/portainer
    
  2. 运行Portainer

    #启动Portainer
    docker run -dit -p 9000:9000 -v /root/portainer:/data -v /var/run/docker.sock:/var/run/docker.sock --name portainer portainer/portainer:latest
    
  3. 参数说明

    -d #容器在后台运行
    -i #以交互模式运行容器
    -t #为容器重新分配一个伪输入终端
    -p 9000:9000 # 宿主机9000端口映射容器中的9000端口
    -v /var/run/docker.sock:/var/run/docker.sock # 把宿主机的Docker守护进程(docker daemon)默认监听的Unix域套接字挂载到容器中
    -v /root/portainer:/data # 把宿主机目录 /root/portainer 挂载到容器 /data 目录;
    –name portainer # 指定运行容器的名称
    
  4. 启动后访问ip:9000,选择local进入下一步
    image-20210708222920432

  5. 在其它节点开放docker api

    vim /usr/lib/systemd/system/docker.service
    #找到ExecStart这行 在后面加上-H tcp://0.0.0.0:2375  其它方式一会docker就挂了 而且重启无效 
    ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375
    systemctl daemon-reload
    systemctl restart docker
    
  6. 将上文开放了docker api的节点加入
    image-20210708224754972
    image-20210708225154180

  7. 配置完点击home可查看所有节点的docker
    image-20210709120022140

Q.E.D.


一个热爱生活的95后精神小伙