用 Portainer 远程管理 docker

时间:2022-06-16 14:30:33

参考的官网地址为:https://portainer.readthedocs.io/en/stable/deployment.html

先更新Centos docker 镜像加速地址:

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://ef017c13.m.daocloud.io

新建一个卷(portainer_data)来存Portainer数据

docker volume create portainer_data
docker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer 

修改将要被远程连接的客户机的docker.service 文件开通docker的远程管理:

vim /lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375

重启客户机docker

systemctl daemon-reload
systemctl restart docker

关闭客户机防火墙

查看防火墙状态: systemctl status firewalld.service  #绿的running表示防火墙开启

执行关闭命令: systemctl stop firewalld.service

再次执行查看防火墙命令:systemctl status firewalld.service

执行开机禁用防火墙自启命令  : systemctl disable firewalld.service

不建议修改daemon.json,

vim /etc/docker/daemon.json

    {
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["rep.dhis2.org.cn"],
# 大坑!不能在这允许DOCKER的TCP通迅,重启不了(CentOS 7,Dokcer 19.03.1): "hosts": ["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"]
}

如果docker加入了swarm集群,则建议通过代理统一管理。在Swarm管理节点执行以下语句,然后即可通过代理连接客户机了

$ curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml
$ docker stack deploy --compose-file=portainer-agent-stack.yml portainer