如果你正在寻找一种管理运行容器的 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 登录页面。

在 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 主界面。

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

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

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

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

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

添加新的镜像

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

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

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

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

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

使用 Cockpit 方便地管理容器相关推荐

  1. Docker基础之九: 管理容器的数据

    管理容器的数据 (对Docker感兴趣的朋友可以加我的微信ghostcloud2016,然后我把你加到我们的一个Docker爱好者群组里面.) 到目前为止,我们已经介绍了Docker的一些基本概念,如 ...

  2. docker 容器运行 golang程序_「Docker」 - 运行 amp; 管理容器

    容器是基于容器技术所建立和运行的轻量级应用运行环境,它是Docker封装和管理应用程序或微服务的「集装箱」,在Docker中,容器是最核心的部分. 一.容器的创建和启动 Docker容器的生命周期里分 ...

  3. Twaver-HTML5基础学习(23)页管理容器(TabBox)、选中模型(SelectionModel)

    页管理容器(TabBox) 页管理容器主要用来管理Tab(twaver.Tab)页. var tablePane = new twaver.controls.TablePane(table); ... ...

  4. Kubernetes1.7新特性:支持绕过docker,直接通过containerd管理容器

    背景情况 从Docker1.11版本开始,Docker依赖于containerd和runC来管理容器,containerd是控制runC的后台程序,runC是Docker公司按照OCI标准规范编写的一 ...

  5. 用于管理容器生命周期的 Docker 命令

    了解 Docker 容器的各种状态对于任何认真的 Docker 用户都至关重要. 我将解释容器生命周期,然后显示生命周期每个阶段的 Docker 命令. 但在学习所有这些东西之前,让我们再次回顾一下容 ...

  6. 模仿Spring实现一个类管理容器

    简介: 项目的初衷是独立作出一个成熟的有特色的IOC容器,但由于过程参考Spring太多,而且也无法作出太多改进,于是目的变为以此项目作为理解Spring的一个跳板,与网上的一些模仿Spring的框架 ...

  7. 在docker for win中使用portainer管理容器

    如何安装docker for win请参考我之前的文章<Docker在Win10下的安装和配置> 打开Kitematic图形管理工具,搜索portainer镜像 创建镜像,制定端口到宿主机 ...

  8. Docker系列七: 使用Humpback管理工具管理容器(一款UI管理工具)

    Humpback 可以帮助企业快速搭建轻量级的 Docker 容器云管理平台,若将你的 Docker 主机接入到 Humpback 平台中,就能够为你带来更快捷稳定的容器操作体验. 功能特点 Web操 ...

  9. swarm容器编排(多机管理容器)

    swarm基础架构: manager之间通信靠分布式存储Raft,worker靠Gossip network. filter功能: ●  约束过滤器(Constraint Filter) 约束过滤器通 ...

最新文章

  1. Zabbix-2.2.4,显示中文语言的选项方法
  2. BZOJ.4247.挂饰(背包DP)
  3. 160家优秀国外技术公司博客
  4. UITabbarController 实例一
  5. 如何用cocos2d-x来开发简单的Uphone游戏:(二) 移动的精灵
  6. Codeforces 1144D Deduction Queries 并查集
  7. java 转换url中文参数
  8. pta7-3 统计不及格人数_应用统计专硕院校专业难度分析【青岛大学、苏大、西安交通大学】...
  9. Java棘手面试问题
  10. intellij idea 2016.3.5 控制台取消行数限制
  11. 读《单页web应用》-回顾作用域
  12. win7台式机系统调节显示屏亮度
  13. GitHub网站加速方法
  14. 常见的平面设计风格有哪些?
  15. 获取A股行情数据方法
  16. 微信小程序开发之——婚礼邀请函-项目展示(4.1)
  17. 005-2-Python文件操作
  18. 新房和二手房的优缺点
  19. 护士资格证考试机考可以用计算机吗,护士资格人机对话考试怎么考?
  20. 邦纳超声波传感器Q45ULIU64BCR

热门文章

  1. integer是值传递还是引用传递_值传递与引用传递
  2. python 爬虫 selenium
  3. Linux最终将会领先于Windows、Mac OS!
  4. AtCoder Grand Contest #026 D - Histogram Coloring
  5. Delphi开发的服务在Windows2003 64位注册方式。
  6. 20155220吴思其 实验2 Windows口令破解
  7. python模块之lib2to3(py2转py3自动化工具)
  8. 自定义水晶报表的显示
  9. AJAX实践DWR篇(转载)
  10. Creator-配置MSVC调试器