基于最新Portainer(2.18)版本的进阶教程
提示:本篇文章约6086字,阅读大约需要6分钟。
关注专栏不迷路
写在前面
上一期我们重点讲了Portainer的部署和一些基础用法、功能等,今天我们主要来讲一讲Portainer的进阶玩法,帮助我们利用好这个强大的docker管理工具。
更换Portainer徽标
我不喜欢Portainer这个logo肿么办呢?如果我想换成公司的logo呢?非常好办,换一个就好:
第一步,点击设置>设置;
第二步,保存设置;
咱直接换个张大妈logo上去:
为Portainer开启深色模式
第一步,点击我的账户;
第二步,下拉页面,即可看到深色模式;
添加GHCR
点击设置>注册表>添加注册表;
单击自定义注册表。在名称字段区域中键入GHCR,并在注册表 URL 区域中键入ghcr.io;
单击添加注册表以保存设置。按照下图中的说明进行操作。
注:如果您想通过 Portainer 更新由 ghcr.io 注册表提供的 Docker 容器,则 ghcr.io 注册表是必需的。
添加成功后右上角会有提示:
具体有什么用,各位就可以自行百度了。
进阶玩法
图形化界面部署
上一期我们只是简单讲了一下Portainer管理容器的办法,今天我们具体讲一下如何使用Portainer部署容器。
下面仍然以本专栏第一篇用到的汉化版Portainer为例:
第一步,点击容器,选择新建:
第二步,Name: 在此输入容器的名称,比如 “portainer”。
第三步,Image: 在此输入 Docker 镜像的名称,比如 “6053537/portainer-ce”。
第四步:Publish a new network port: 点击 Publish a new network port(发布新的网络端口)按钮,然后在 Host 输入 9000,Container 输入 9000。
注:如果Portainer-CE已经使用了9000端口,请酌情改为其他端口。
第五步:Restart policy: 从下拉菜单中选择 “unless stopped”,这与 --restart=always 等价。
第六步:Volumes:点击 map additional volume(映射额外卷),然后在 container 输入 /var/run/docker.sock,bind 输入 /var/run/docker.sock。
第七步:点击 Deploy the container(部署容器)按钮。现在 Portainer 就会开始部署你的容器。
手动更新容器
Portainer可以利用:latest标签手动更新容器,具体操作步骤如下:
第一步,选中要更新的容器;
第二步,点击EDIT(编辑)容器;
第三步,为镜像名称添加:latest标签
第四步,点击 Deploy the container(部署容器)按钮,即可完成容器更新。
注:这种方法也可应用于更新到特定版本的镜像。
Docker Compose用法
结合我们之前部署的Composerize容器,使用Portainer的docker compose工具不要太简单。
仍然以汉化版Portainer为例:
docker run命令如下:
docker run -d --restart=always --name="portainer" -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock 6053537/portainer-ce
第一步,在Composerize中将docker run命令转换为docker compose命令;
第二步,在 Portainer 登录后,从左侧导航菜单中选择 “Stacks”;
第三步,在 Stacks 页面,点击 “Add stack” 按钮;
第四步,在 “Name” 区域,输入你的 stack 的名称;
第五步,你有两种方式来定义你的 stack:
Web editor: 在 web 编辑器中直接输入或粘贴你的 docker-compose 文件的内容。
Upload: 点击 “Upload” 按钮,从你的本地文件系统选择一个 docker-compose 文件。
第六步,粘贴命令。确保你的 docker-compose 文件内容正确,包括镜像、网络、数据卷、环境变量等配置。注意,Portainer 支持的 docker-compose 文件版本可能因 Portainer 的版本和你的 Docker 环境而异;
第七步,点击 “Deploy the stack” 按钮,Portainer 会开始部署你的 stack。完成后,你的 stack 会显示在 Stacks 列表中,你可以选择它来查看和管理 stack 中的服务和容器。
这就是如何使用 Portainer 的 Stacks 功能的基本步骤。记住,每个 stack 对应一个 docker-compose 文件,可以包含多个服务。服务就是运行在 Docker 容器中的应用。每个服务都有自己的镜像、环境变量、网络和数据卷配置。
为docker添加macvlan网络
其实添加ipv4比较简单,ipv6就比较麻烦了。所以我会单独出一期文章先讲一下ipv6,然后再来详细将如何利用Portaine添加ipv4+ipv6双栈macvlan网络。
应用程序模板用法
Portainer 提供了一个很有用的特性,即应用模板(App Templates)。应用模板允许用户快速地部署预定义的应用,例如 WordPress,MySQL,Nginx等等。
以下是如何使用Portainer的应用模板的步骤:
以Ubuntu部署为例:
第一步,登录到 Portainer,然后在左侧导航栏选择 “App Templates”。
第二步,在 App Templates 列表中,找到 “Ubuntu” 模板,然后点击它。
第三步,你会看到一个配置页面。在这个页面,你可以设置你的 Ubuntu 容器的配置,例如名称,网络,数据卷等。具体的配置选项可能会因模板的不同而不同。
第四步,在 “Container name”(容器名称)字段中输入你的容器的名称。
第五步,在 “Console” 区域,选择 “Interactive & TTY”。这将允许你与你的 Ubuntu 容器进行交互。
第六步,选择其他你需要的配置,然后点击 “Deploy the container”(部署容器)按钮。
Portainer 会开始部署你的 Ubuntu 容器。完成后,你可以在 “Containers” 列表中找到你的 Ubuntu 容器,并可以点击它来查看详情或与其交互。
其他高级功能
用户和团队管理
Portainer允许创建多个用户和团队,实现对资源的细粒度访问控制。您可以在左侧菜单栏的“用户”和“团队”选项中进行用户和团队的管理。
资源访问控制
Portainer支持为容器、堆栈、网络和数据卷等资源设置访问控制列表(ACL),以限制不同用户和团队对资源的访问权限。
自定义模板
Portainer允许您创建自定义的容器和堆栈模板,以便于快速部署常用的应用程序和服务。您可以在左侧菜单栏的“应用模板”选项中进行模板的管理。
Webhooks
Portainer支持使用Webhooks触发特定操作,例如在接收到新的镜像标签时自动更新容器。您可以在容器详情页面的“Webhooks”选项卡中创建和管理Webhooks。
扩展
Portainer提供了一些扩展插件,用于增强其功能和集成第三方服务。您可以在左侧菜单栏的“扩展”选项中查看和安装扩展。
常见问题解答
问题一:Portainer无法连接到Docker守护进程。
解决方法:确保在启动Portainer容器时正确挂载了`/var/run/docker.sock`文件,如:`-v /var/run/docker.sock:/var/run/docker.sock`。
问题二:Portainer显示的容器和镜像与实际Docker环境不一致。
解决方法:尝试刷新Portainer页面,或者重启Portainer容器。如果问题仍然存在,请检查Portainer的日志以查找潜在错误。
问题三:无法通过Portainer部署新的容器或堆栈。
解决方法:检查Docker Compose文件或容器配置是否正确。如果问题仍然存在,请查看Portainer和Docker守护进程的日志以找出潜在错误。
总结
今天算是把Portainer常用的玩法都讲清楚了,各位如果还有其他方面的问题,欢迎在评论区留言。
下期预告:docker更新神器——watchowner。
这就是本期的全部内容了,如果这篇文章对您有帮助的话,欢迎您在评论区多多讨论,也欢迎关注、点赞、打赏一键三连,您的支持对我非常重要。
我是冥冰薇,点个关注不迷路,我们下期再见。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~






























冥冰薇
校验提示文案
kaaye
校验提示文案
有文化的吃货
校验提示文案
susu1980
校验提示文案
橘生330
校验提示文案
啥都没有
校验提示文案
Cyano_
校验提示文案
SuperMax_Z
校验提示文案
两个字
校验提示文案
两个字
校验提示文案
SuperMax_Z
校验提示文案
Cyano_
校验提示文案
啥都没有
校验提示文案
橘生330
校验提示文案
kaaye
校验提示文案
susu1980
校验提示文案
有文化的吃货
校验提示文案
冥冰薇
校验提示文案