Portainer:使用前端管理Docker
从命令行管理Docker可能很麻烦。这也可能使将日常管理工作传递给其他人更加困难。了解如何在环境中部署Portainer以及如何通过基于Web的界面管理容器。
Portainer是设计用于管理Docker环境的图形界面。我们可以使用它来管理本地系统,远程系统上的容器,以及管理整个Swarm集群。
Portainer作为容器运行,其映像在官方Docker注册表中可用。
正在运行的Portainer
Portainer易于运行。这是在环境中运行的另一个Docker容器。
docker pull portainer/portainer
创建一个Docker卷来存储Portainer的数据。这是为了确保无论何时停止和重新启动容器,数据都将保持持久性。
docker volume create portainer_data
要快速启动Portainer的基本容器,请运行以下命令。它将容器作为服务运行,并为管理员Web界面公开端口9000。使用always-always标志,即使在发生故障后,也可以确保容器继续运行。
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
通过在映像的/ data / portainer / portainer目录下安装数据卷,可以使数据在整个容器中保持持久性。
初始配置
Portainer容器运行后,可以从http:// localghost:9000访问它。我们将看到几个配置页面。第一个要求我们创建一个管理员帐户。
创建管理员帐户后,系统将询问我们要管理哪种Docker环境-本地主机,远程主机或者Docker Swarm。
Portainer Docker环境选择
选择环境后,将配置Portainer实例。设置任何环境设置后,我们将出现在仪表板上,然后单击"连接"。部署起来真的很容易。
仪表板
仪表板提供对Docker环境的洞察力。我们可以查看正在运行的容器的数量,映像的数量以及它们消耗的存储空间,还可以查看卷的数量和网络的数量。
烤漆仪表板
应用程式范本
应用程序模板显示了Docker注册表中可用的常用映像列表。通过该界面,我们可以为应用程序快速创建新容器。
货柜
容器页面显示所有正在运行和已停止的容器的列表。列表上方和下方的菜单栏允许快速访问常用命令,例如启动和停止容器;移走已停止的旧容器;以及暂停和恢复容器。
Portainer容器页面
列出的每个容器都有一个快速操作菜单。图形图标将打开容器的资源监视页面,向我们显示有关内存使用和CPU消耗的信息。当我们需要查看容器在系统上的行为方式时非常方便。
还可以从快速操作菜单访问日志。此页面的输出等效于在命令行中针对容器运行docker日志。
也可以从快捷菜单跳入shell并针对正在运行的容器运行命令。
最后,任何想要有关特定容器的详细信息的人都可以从快速操作菜单中查看它。
老实说,任何人日常工作都可以从容器页面完成。该接口感觉相当成熟,并且具有运行容器的人所期望的大多数功能。
镜像
管理此页面上的所有镜像。仅显示有关镜像的基本信息。但是,如果我们想要更多细节,例如使用的环境变量。我们可以单击镜像以获取该信息。
Portainer镜像
如我们所见,我们可以下拉新镜像。如果我们注册了其他注册表,则可以选择从哪个注册表中提取镜像。
该页面还使我们能够创建新镜像。 Portainer提供了一个Web编辑器,我们可以在其中键入或者粘贴Dockerfile信息。如果在tarball中存档了映像,则可以上传它。另一个选择是指向可以从中下载镜像的URL,并使Portainer抓取镜像并将其保存。
卷数
从命令行管理卷可能很痛苦。如果不将卷映射到已知目录,情况将变得更加糟糕。相反,如果我们不指定本地目标目录而允许Docker自动创建卷,则可能会发现自己难以识别哪些卷属于哪些映像。
卷页面解决了该问题。它甚至告诉我们容器是否使用了映像,这有助于清理未使用的卷以恢复存储。
Portainer卷
在首页显示的有限信息是有益的。可能会改善此区域的一件事是显示已消耗的存储量。我们使用卷来维护相同角色的Docker容器中的持久数据。这些角色可以是大型数据库服务器或者大型媒体存储。更好地了解正在消耗的存储将很有帮助。
Portainer设置
Portainer添加了有助于管理Docker环境的安全和管理功能。
身份验证和用户管理
用户可以存储在本地数据库(默认)中,也可以存储在LDAP服务器中。后者针对更大的企业环境。导航到"设置",然后"身份验证"提供在本地数据库和LDAP之间切换的选项。
Docker注册表
"注册表设置"页面远离无特权的用户。这使我们可以注册私人注册表和其他公共注册表。
其他设置
还有其他一些未提及的设置,我将不做详细介绍。其中之一是能够从UI隐藏容器。为什么要隐藏容器有多种原因,但是出于安全原因,最好限制哪些用户帐户可以访问这些容器。
对于喜欢通过工具显示徽标的组织,此选项位于设置下。该镜像将必须由Web服务器托管,因为需要URL。
总体
Portainer感觉像是一种相当成熟的产品。它是开源和免费的,因此使用起来很简单。从Docker主机或者Swarm节点运行Portainer容器,然后将这些服务器锁定。这是一个很棒的工具,它允许经验不足的管理员来管理Docker环境,使他们能够执行典型的日常活动,而无需给他们城堡的钥匙。
有一些地方可以改进,但是有足够的坚实特征,使底片大都被掩盖了。
如果我们想在Docker环境中使用前端并且预算有限,请立即使用Portainer满足需求。