我在RedHat工作期间每天都在FedoraAtomic主机上使用Docker容器。来自ProjectAtomic的AtomicHost是一个轻量级的容器操作系统,可以运行Docker格式的Linux容器。它专为提高效率而量身定制,使其成为云环境的Docker运行时系统的理想选择。幸运的是,我找到了一种管理在主机上运行的容器的好方法:Cockpit。它是一个GNU/Linux服务器远程管理工具,具有漂亮的Web界面。它帮助我管理在主机上运行的服务器和容器。您可以在此处上一篇文章的概述中了解有关Cockpit的更多信息。但是,我还想在主机上自动运行容器,为此我可以使用Ansible。请注意,我们不能在原子主机上使用dnf命令。AtomicHost并非设计为通用操作系统,而是更适合容器和其他用途。但在AtomicHost上设置应用程序和服务仍然非常容易。本文将向您展示如何自动化和简化此过程。在设置组件之前,请确保您的系统上安装了Ansible。sudodnf-yinstallansible首先,我们需要在原子主机上运行驾驶舱容器。在您的机器上从https://github.com/trishnaguha/fedora-cloud-ansible下载其源代码。$gitclonehttps://github.com/trishnaguha/fedora-cloud-ansible.git现在切换到cockpit目录并编辑inventory文件如下:$cdfedora-cloud-ansible$cdcockpit$viminventory完成以下更改:使用你的atomhost将IP_ADDRESS_OF_HOST替换为您的IP。将ansible_ssh_private_key_file='PRIVATE_KEY_FILE'行中的PRIVATE_KEY_FILE替换为您的SSH私钥文件的路径。然后保存并退出清单文件编辑器。接下来,编辑ansible配置文件:$vimansible.cfg将User中的remote_user=User替换为您在atom主机上的远程用户名。然后保存并退出文件编辑。将它们放在一起现在是时候运行Ansible的PlayBook了。此命令开始在原子主机上运行Cockpit容器:$ansible-playbookcockpit.ymlCockpit现在在原子主机上运行。使用浏览器访问实例公共IP的端口9090-这是Cockpit的默认端口。例如,如果实例的IP地址是192.168.1.4,则转到192.168.1.4:9090,您将看到以下Web界面:Manageyourcontainers使用atom主机的登录信息或以root身份登录。然后访问Cockpit管理器上的Containers部分,查看Atomic主机上运行的容器。在下面的示例中,您会看到我还设置了其他容器,例如httpd和redis:请注意,该界面允许您使用运行和停止按钮直接在Cockpit管理器中启动和停止容器。您还可以使用Cockpit管理器管理您的Atomic主机。转到Tools->Terminals,在这里你可以使用atom主机的终端:如果你打算在atom主机上部署容器化应用程序,你可以简单地为它编写一个PlayBook。然后,您可以使用ansible-playbook命令部署并使用Cockpit管理容器。欢迎您分叉此存储库或添加容器的PlayBook。
