Docker部署常见应用之企业级容器管理工具Portainer


在这里插入图片描述

Portainer 是一个轻量级的容器管理工具,它提供了一个图形化界面来管理 Docker 容器、镜像、网络和卷。以下是使用 Docker 部署 Portainer 的基本步骤以及Portainer管理多个Docker的设置步骤:

Portainer安装步骤

  1. 安装 Docker:
    确保你的系统上已经安装了 Docker。如果还没有安装,可以从 Docker 官网下载并安装适合你操作系统的 Docker 版本。Centos安装可以参考Docker和Docker-Compose安装

  2. 拉取 Portainer CE 镜像:
    使用 Docker 命令拉取 Portainer CE 的最新镜像。

    docker pull portainer/portainer-ce
    
  3. 创建 Portainer 持久化:
    Portainer 需要一个数据卷来持久化存储数据。运行以下命令来创建一个名为 portainer_data 的卷:

    docker volume create portainer_data
    
  4. 运行 Portainer CE 容器:
    使用以下命令启动 Portainer容器,并将其与 Docker 主机的 Unix 套接字和创建的数据卷连接起来。

    docker run -d \
      -p 9000:9000 \
      --name=portainer \
      --restart=always \
      -v /var/run/docker.sock:/var/run/docker.sock \
      -v portainer_data:/data \
      portainer/portainer-ce
    

    在这个命令中:

    • -d 表示以守护进程模式运行容器。
    • -p 9000:9000 将容器的 9000 端口映射到宿主机的 9000 端口,这样可以通过浏览器访问 Portainer 的 Web 界面。
    • --name=portainer 为容器指定一个名称。
    • --restart=always 确保容器在退出时总是尝试重启。
    • -v /var/run/docker.sock:/var/run/docker.sock 将 Docker 主机的 Unix 套接字挂载到容器中,以便 Portainer 可以与 Docker 守护进程通信。详细说明参看概念解释。
    • -v portainer_data:/data 将之前创建的 portainer_data 卷挂载到容器中,用于存储 Portainer 的数据。
  5. 访问 Portainer CE Web 界面:
    打开浏览器,输入 http://<your-server-ip>:9000 访问 Portainer 的 Web 界面,其中 <your-server-ip> 是运行 Portainer 容器的服务器的 IP 地址。

  6. 初始化 Portainer:
    首次访问 Portainer 时,会要求你设置管理员用户名和密码。设置完毕后,你将能够登录并开始使用 Portainer。
    在这里插入图片描述

  7. 开始管理 Docker 环境:
    登录后,Portainer 的仪表板会显示你的 Docker 环境概览,包括容器、镜像、网络和卷等信息。你可以开始使用 Portainer 的各种功能来管理你的 Docker 环境。
    在这里插入图片描述

请注意,具体的部署步骤可能会根据你的具体需求和环境配置有所不同。如果你需要更详细的指导或遇到问题,可以查阅 Portainer 的官方文档或社区支持。

请注意,生产环境中使用 Portainer 时,你可能需要考虑安全性,比如设置更安全的认证方式,以及保护 Portainer 的 Web 界面不被未授权访问。

以上步骤提供了一个基本的 Portainer 部署过程。根据你的具体需求,可能还需要进行一些额外的配置和调整。

管理多个Docker服务

要使用 Portainer 管理多个 Docker 服务,通常需要在一台服务器上安装 Portainer,并将其配置为管理端(master),然后通过添加环境(envrironment)的方式将其他 Docker 主机(节点)加入到 Portainer 的管理中。以下是详细的设置步骤:

  1. 环境准备:确保所有需要管理的 Docker 主机都已经安装了 Docker,并且网络互通。

  2. 在管理端安装 Portainer: 参看上面的安装步骤。

  3. 配置 Docker 主机

    • 在需要被管理的 Docker 主机上,需要开放 Docker API 端口,通常做法是在 Docker 服务配置文件docker.service中添加或修改 -H tcp://0.0.0.0:2375 参数,然后重启 Docker 服务。
    • 修改配置/lib/systemd/system/docker.service
      docker.service 的位置可以通过命令 sudo find / -name docker.service 查找
      ExecStart=/usr/bin/dockerd  -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375
      
    • 重启服务
      systemctl daemon-reload
      systemctl restart docker
      
  4. 添加端点

    • 登录 Portainer Web UI,点击左侧菜单的 “Envrironments” 选项。

    • 点击 "+ Add envrironment " 图标添加新的envrironment。
      在这里插入图片描述

    • 选择 “Docker” 类型,并输入目标 Docker 主机的地址和开放的 API 端口(通常是 2375,如果更改过请使用实际端口)。

    • 点击 “Add” 完成端点添加。
      在这里插入图片描述

  5. 管理多个 Docker 环境

    • 添加完端点后,Portainer 就可以管理所有配置的 Docker 主机了。
    • 你可以在 Portainer 的 Dashboard 查看所有 Docker 主机的概览信息。
    • 可以分别进入每个端点的管理界面,执行容器的创建、启动、停止等操作。
  6. 注意事项

    • 确保防火墙规则允许访问 Docker API 端口。
    • 管理端 Portainer 容器需要访问所有被管理 Docker 主机的 API 端口。

通过以上步骤,你可以使用 Portainer 来集中管理多个 Docker 服务。

概念解释

  • -v /var/run/docker.sock:/var/run/docker.sock解释:
    它的作用是将主机上的 Docker Unix 套接字 /var/run/docker.sock 挂载到容器内的相同路径 /var/run/docker.sock。Unix 套接字是一种特殊的文件,提供了一个进程间通信的机制。
    这种挂载通常用于以下几个场景:
    • 容器管理:当需要从容器内部管理 Docker 容器时,例如使用 Docker Compose 或 Portainer 这样的工具,它们需要与 Docker 守护进程通信。通过挂载 Unix 套接字,容器内的进程能够直接与主机上的 Docker 守护进程交互。

    • 服务发现:在容器编排和服务网格中,容器可能需要发现和通信其他容器或服务。挂载 Unix 套接字可以使得容器能够使用 Docker 的服务发现机制。

    • 安全性:虽然挂载 Unix 套接字可以提供便利,但它也可能带来安全风险。因为任何能够访问这个套接字的容器都能够执行 Docker 命令,这可能被恶意利用来危害宿主机。因此,通常建议仅在信任的容器中挂载 Unix 套接字,并且使用 Docker 的安全特性来限制权限。

参考文章

Install Portainer CE with Docker on Linux
portainer官网镜像仓库
Portainer管理多台Docker容器环境
Portainer管理多个Docker服务

  • 11
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值