侧边栏壁纸
博主头像
可乐没气的猫博主等级

四分之一的职业法师|二次元的分享家

  • 累计撰写 12 篇文章
  • 累计创建 6 个标签
  • 累计收到 19 条评论

目 录CONTENT

文章目录

20220314 Docker安装Portainer中文管理面板

可乐没气的猫
2022-03-14 / 10 评论 / 2 点赞 / 17,923 阅读 / 1,693 字

Portainer简介

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

安装Portainer CE版本

Portainer Hub地址
https://hub.docker.com/r/portainer/portainer/
官方安装文档
https://docs.portainer.io/v/ce-2.11/start/install/server/docker/linux
Portainer面板中文汉化
https://github.com/eysp/public

Portainer汉化步骤

#创建镜像挂载目录 
mkdir -p /root/portainer/
#下载汉化文件,解压出public文件夹 
git clone https://github.com/tbc0309/Portainer-CN2021.git
cd Portainer-CN2021 && unzip Portainer*.zip
#解压public文件夹至/root/portainer目录 
mv public /root/portainer/

安装可视化面板

#创建portainer volume
docker volume create portainer_data
#安装portainer
docker run -d -p 8000:8000 -p 9000:9000 -p 9443:9443 \
--name=portainer --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
-v /root/portainer/public:/public \
--network halongwiz \
portainer/portainer-ce:2.11.1

配置nginx代理

因为之前已经安装过nginx,也预先准备好了二级域名,贴上nginx配置

server {
    listen      80;
    server_name portainer.findmyfun.xyz;
    return 301  https://$server_name$request_uri;
}
server {
    listen       443 ssl;
    server_name  portainer.findmyfun.xyz;
    ...
    client_max_body_size 1024m;
    location / {
            proxy_pass http://portainer:9000;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
    }
}

如果没有配置nginx,浏览器直接访问ip:9000,进行初始化配置【需在防火墙放开9000端口限制,配置nginx则不需要】,配置完成就可以打开容器列表,轻松管理你的容器应用了。

结语

Portainer容器列表

Portainer

Portainer域名访问exec失败解决办法

通过nginx代理访问域名,无法通过exec进入容器控制台而ip:9000可以,究其原因,应该是WebSoket所致。
主要在location内部增加以下两个配置,也就是设置两个HTTP头。

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";

参考博客

1、Docker管理面板Portainer中文完美汉化2021 新增CE汉化
2、Docker管理面板Portainer中文版安装
3、Portainer绑定域名后Execute失败
4、https://github.com/portainer/portainer/issues/1887

2

评论区