优秀的编程知识分享平台

网站首页 > 技术文章 正文

Linux下好用的Portainer工具实现多节点Docker服务的统一管理(1)

nanyue 2025-03-10 18:56:27 技术文章 3 ℃

其实编写这篇文章确实有一定的针对性,主要目的为一些个人、小团队、初学者而准备,帮助其更好的、方便的管理docker服务,介绍一款很方便的docker服务管理工具。

  • 工具:Portainer
  • 介绍:Portainer是一个可视化的容器镜像的图形管理工具,利用Portainer可以轻松构建,管理和维护Docker环境。 而且完全免费,基于容器化的安装方式,方便高效的部署。Portainer 是开源的,是 Web 应用的形式。
  • 官网:https://www.portainer.io/
  • Github:https://github.com/portainer/portainer
  • 支持系统:Linux, Mac OS X, Windows
  • 功能特性:管理仓库、网络、数据卷、密钥、镜像、容器,容器的健康检查,容器的启动、停止、恢复、删除,检查容器、查看容器日志、可视化状态查看,进入容器控制台等。

既然提到了Docker服务,那么下面对于Portainer工具服务的安装也通过Docker容器服务发布。

Portainer服务的docker镜像部署

安装环境:Linux平台 CentOS系统

Docker镜像平台:
https://registry.hub.docker.com/

1、创建自定义容器数据挂载点

$ docker volume create portainer_data

2、查看自定义挂载点信息

$ docker volume ls
$ docker volume inspect portainer_data

3、创建容器,“--restart=always”设置容器服务跟随docker服务重启而重启

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

镜像服务 portainer/portainer-ce:
https://registry.hub.docker.com/r/portainer/portainer-ce

端口号:8184:8000 则是之后通过PortainerAgent插件管理前天服务器节点中docker服务需要开放的端口(不建议生产环境直接使用)。

端口号:8337:9000 则是portainer服务的web端服务端口。

4、前置Nginx反向代理(可以忽略,如果不希望在外网通过域名访问其web服务)

Docker服务启动成功后,就可以通过浏览器直接访问地址了,如果在外网访问的话,可以前置Nginx服务做反向代理,并做一个二级域名解析方便访问。

[root@ser conf.d]# pwd
/etc/nginx/conf.d
[root@ser conf.d]# more docker.vfire.cn.conf 

## 7层调度方式
upstream portainer_client {
    server 127.0.0.1:9000 weight=1;
}

server {
    listen              80;
    server_name         docker.vfire.cn;
    rewrite             ^(.*)$ https://$host$1;
}

server {
    listen              443 ssl;
    server_name         docker.vfire.cn;

    ssl_certificate     cert/x.vfire.cn_chain.crt;
    ssl_certificate_key cert/x.vfire.cn_key.key;
	
	ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout 5m;
	
    ssl_ciphers         ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP        $remote_addr;
        proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy    true;

        ### sta 开启websocket代理功能的配置
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        ### end

        proxy_pass http://portainer_client;
    }
}
[root@ser conf.d]#

5、浏览器访问Portainer服务

打开浏览器后直接输入 https://docker.vfire.cn/ 即可访问。

也可以通过内网地址 http://localhost:9000 直接访问。

6、Portainer服务效果图







最近发表
标签列表