【Docker】之安装portainer-ce2.0

介绍

  Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。

安装

  1. 拉取新的镜像
      老 版: portainer/portainer
      社区版: portainer/portainer-ce
      企业版: portainer/portainer-ee
    docker pull portainer/portainer-ce
  2. 创建数据卷
    docker volume create portainer_data
      位置:/var/lib/docker/volumes/portainer_data
  3. 创建自己的网络
      创建我们固定的ip网段,可以防止服务器卡死宕机强制重启后,导致的容器ip自动重启后产生变化,而导致docker容器内部通过网段通信的问题
    docker network create --subnet=172.172.0.0/24 --gateway 172.172.0.1 docker-mynet 
  4. 启动新的容器
    docker run -d \
    -e TZ=Asia/Shanghai \
    --restart unless-stopped \
    -p 9000:9000 \
    --name myportainer \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v portainer_data:/data \
    portainer/portainer-ce
    或者
    docker run --name portainer \
    --net docker-mynet --ip 172.172.0.3 \
    -p 9000:9000 \
    --restart=always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /soft/docker/portainer/data:/data \
    -v /soft/docker/portainer/public:/public \
    -d portainer/portainer-ce 

    参数
    --net docker-mynet 指定网段
    --ip 172.172.0.3 指定ip 服务器启动后不会发生改变
    --restart=always 随着docker 启动而启动

      然而我们使用ip:9000却发现无法访问 ,是因为我们用-v /soft/docker/portainer/public:/public 将portainer的页面文件夹挂载在宿主机的/soft/docker/portainer/public目录下了,而且是个空文件夹,所以无法访问

    https://files-cdn.cnblogs.com/files/blogs/680867/Portainer-CN.zip
    使用上面的地址下载汉化文件,放置在/soft/docker/portainer/public 并解压
    使用docker restart portainer 后,使用ip:9000即可访问(前提是要设置centos防火墙)

  5. 查看
      在游览器输入如下地址:http://10.211.55.81:9000

连接远程docker

  1. 服务器配置docker
    
    vim /usr/lib/systemd/system/docker.service
      添加-H tcp://0.0.0.0:2375如下
    # ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
    
    改为:
    # leeze
     ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375
  2. 防火墙端口(2375)
      如果服务器有防火墙,请放开 2375 端口
    firewall-cmd  --zone=public --add-port=2375/tcp --permanent
    firewall-cmd --reload
    firewall-cmd --list-ports
  3. 重启 docker 服务
    systemctl daemon-reload
    systemctl restart docker
  4. portainer中远程连接

docker-compose.yml

version: "3.9"

services:
  portainer:
    image: portainer/portainer-ce:2.15.1
    container_name: portainer
    ports:
      - "8000:8000"
      - "9999:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:rw
      - data:/data:rw
    networks:
      - traefik

volumes:
  data:
    name: portainer_data

networks:
  traefik:
    external: true