使用 Cockpit 方便地管理容器

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

如果你正在寻找一种管理运行容器的 Linux 服务器的简单方法,那么你应该看看 Cockpit。

如果你管理着一台 Linux 服务器,那么你可能正在寻找一个可靠的管理工具。为了这个你可能已经看了Webmin 和 cPanel 这类软件。但是,如果你正在寻找一种简单的方法来管理还包括了 Docker 的 Linux 服务器,那么有一个工具可以用于这个需求:Cockpit

为什么使用 Cockpit?因为它可以处理这些管理任务:

  • 连接并管理多台机器
  • 通过 Docker 管理容器
  • 与 Kubernetes 或 Openshift 集群进行交互
  • 修改网络设置
  • 管理用户帐号
  • 通过基于 Web 的 shell 访问
  • 通过图表查看系统性能信息
  • 查看系统服务和日志文件

Cockpit 可以安装在 Debian、Red Hat、CentOS、Arch Linux 和 Ubuntu 之上。在这里,我将使用一台已经安装了 Docker 的 Ubuntu 16.04 服务器来安装系统。

在上面的功能列表中,其中最突出的是容器管理。为什么?因为它使安装和管理容器变得非常简单。事实上,你可能很难找到更好的容器管理解决方案。

因此,让我们来安装这个方案并看看它的使用是多么简单。

安装

正如我前面提到的,我将在一台运行着 Docker 的 Ubuntu 16.04 实例上安装 Cockpit。安装步骤很简单。你要做的第一件事是登录你的 Ubuntu 服务器。接下来,你必须使用下面的命令添加必要的仓库:


 
 
  1. sudo add-apt-repository ppa:cockpit-project/cockpit

出现提示时,按下键盘上的回车键,等待提示返回。一旦返回到 bash 提示符,使用下面的命令来更新 apt:


 
 
  1. sudo apt-get get update

使用下面的命令安装 Cockpit:


 
 
  1. sudo apt-get -y install cockpit cockpit-docker

安装完成后,需要启动 Cockpit 服务并使它开机自动启动。要做到这个,使用下面的两个命令:


 
 
  1. sudo systemctl start cockpit
  2. sudo systemctl enable cockpit

安装就到这里了。

登录到 Cockpit

要访问 Cockpit 的 web 界面,打开浏览器(与 Cockpit 服务器在同一个网络内),输入http://IP_OF_SERVER:9090,你就会看到登录页面(图 1)。

图 1:Cockpit 登录页面。

图 1:Cockpit 登录页面。

在 Ubuntu 中使用 Cockpit 有个警告。Cockpit 中的很多任务需要管理员权限。如果你使用普通用户登录,则无法使用 Docker 等一些工具。 要解决这个问题,你可以在 Ubuntu 上启用 root 用户。但这并不总是一个好主意。通过启用 root 帐户,你将绕过已经建立多年的安全系统。但是,在本文的用途中,我将使用以下两个命令启用 root 用户:


 
 
  1. sudo passwd root
  2. sudo passwd -u root

注意,请确保给 root 帐户一个强壮的密码。

你想恢复这个修改的话,你只需输入下面的命令:


 
 
  1. sudo passwd -l root

在其他发行版(如 CentOS 和 Red Hat)中,你可以使用用户名 root 及其密码登录 Cockpit,而无需像上面那样需要额外的步骤。

如果你对启用 root 用户感到担心,则可以在服务器的终端窗口拉取镜像(使用命令 docker pull IMAGE_NAME, 这里的 IMAGE_NAME 是你要拉取的镜像)。这会将镜像添加到你的 docker 服务器中,然后可以通过普通用户进行管理。唯一需要注意的是,普通用户必须使用以下命令将自己添加到 Docker 组:


 
 
  1. sudo usermod -aG docker USER

其中,USER 是实际添加到组的用户名。在你完成后,重新登出并登入,接着使用下面的命令重启 Docker:


 
 
  1. sudo service docker restart

现在常规用户可以启动并停止 Docker 镜像/容器而无需启用 root 用户了。唯一一点是用户不能通过 Cockpit 界面添加新的镜像。

使用 Cockpit

一旦你登录后,你可以看到 Cockpit 的主界面(图 2)。

图 2:Cockpit 主界面。

图 2:Cockpit 主界面。

你可以通过每个栏目来检查服务器的状态等,但是我们想要直接进入容器。单击 “Containers” 那栏以显示当前运行的以及可用的镜像(图3)。

图 3:使用 Cockpit 管理容器难以置信地简单。

图 3:使用 Cockpit 管理容器难以置信地简单。

要启动一个镜像,只要找到镜像并点击关联的启动按钮。在弹出的窗口中(图 4),你可以在点击运行之前查看所有镜像的信息(并根据需要调整)。

图 4: 使用 Cockpit 运行 Docker 镜像。

图 4: 使用 Cockpit 运行 Docker 镜像。

镜像运行后,你可以点击它查看状态,并可以停止、重启、删除实例。你也可以点击修改资源限制并接着调整内存限制还有(或者)CPU 优先级。

添加新的镜像

假设你以 root 用户身份登录。如果是这样,那么你可以在 Cockpit GUI 的帮助下添加新的镜像。在“ Container” 栏目下,点击获取新的镜像按钮,然后在新的窗口中搜索要添加的镜像。假设你要添加 CentOS 的最新官方版本。在搜索栏中输入 centos,在得到搜索结果后,选择官方列表,然后单击下载(图5)。

图 5:使用 Cockpit 添加最新的官方构建 CentOS 镜像到 Docker 中。

图 5:使用 Cockpit 添加最新的官方构建 CentOS 镜像到 Docker 中。

镜像下载完后,那它就在 Docker 中可用了,并可以通过 Cockpit 运行。

原文发布时间为:2017-05-03

本文来自云栖社区合作伙伴“Linux中国”

相关文章
|
XML Java 编译器
如何使用IOC容器进行对象的管理和创建?
如何使用IOC容器进行对象的管理和创建?
如何使用IOC容器进行对象的管理和创建?
|
Cloud Native 测试技术 持续交付
Docker Compose 解析:定义和管理多容器应用,从多角度探索其优势和应用场景
Docker Compose 解析:定义和管理多容器应用,从多角度探索其优势和应用场景
405 0
|
5月前
|
存储 Linux 应用服务中间件
容器卷管理
容器卷管理
38 2
|
5月前
|
安全 关系型数据库 开发者
Docker Compose凭借其简单易用的特性,已经成为开发者在构建和管理多容器应用时不可或缺的工具。
Docker Compose是容器编排利器,简化多容器应用管理。通过YAML文件定义服务、网络和卷,一键启动应用环境。核心概念包括服务(组件集合)、网络(灵活通信)、卷(数据持久化)。实战中,编写docker-compose.yml,如设置Nginx和Postgres服务,用`docker-compose up -d`启动。高级特性涉及依赖、环境变量、健康检查和数据持久化。最佳实践涵盖环境隔离、CI/CD、资源管理和安全措施。案例分析展示如何构建微服务应用栈,实现一键部署。Docker Compose助力开发者高效驾驭复杂容器场景。
78 1
|
7月前
|
Java 数据库连接 Docker
【Docker 专栏】Docker 容器内环境变量的管理与使用
【5月更文挑战第9天】本文介绍了Docker容器中环境变量的管理与使用,环境变量用于传递配置信息和设置应用运行环境。设置方法包括在Dockerfile中使用`ENV`指令或在启动容器时通过`-e`参数设定。应用可直接访问环境变量或在脚本中使用。环境变量作用包括传递配置、设置运行环境和动态调整应用行为。使用时注意变量名称和值的合法性、保密性和覆盖问题。理解并熟练运用环境变量能提升Docker技术的使用效率和软件部署质量。
521 0
【Docker 专栏】Docker 容器内环境变量的管理与使用
|
7月前
|
前端开发 Java 容器
家族传承:Spring MVC中父子容器的搭建与管理指南
家族传承:Spring MVC中父子容器的搭建与管理指南
128 3
|
7月前
|
存储 Linux 文件存储
Linux使用Docker部署Traefik容器并实现远程访问管理界面-1
Linux使用Docker部署Traefik容器并实现远程访问管理界面
164 0
|
7月前
|
弹性计算 Shell 数据安全/隐私保护
动态管理Docker容器的自动扩展与缩减
【4月更文挑战第30天】
108 0
|
监控 Shell Docker
深入了解 Docker 容器操作命令:掌握容器化管理的关键
Docker 已经成为现代应用程序开发和部署的行业标准。它借助容器化技术,提供了一种轻量、可移植和可扩展的方式来构建、发布和运行应用程序。然而,最近我在工作中发现,一些家人们对 Docker 容器的操作命令还不太熟悉。因此,本文旨在深入介绍 Docker 容器操作的各个方面,包括对每个命令及其参数的详细解释。希望通过这篇文章,我们可以一起探讨和学习,进一步提高对 Docker 的理解和应用能力。
241 1
 深入了解 Docker 容器操作命令:掌握容器化管理的关键
|
Cloud Native Docker 容器
【云原生】一文秒会Docker容器企业化管理
【云原生】一文秒会Docker容器企业化管理
67 0
【云原生】一文秒会Docker容器企业化管理