阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

相信吗?你可以五分钟搞定Linux容器

139次阅读
没有评论

共计 1459 个字符,预计需要花费 4 分钟才能阅读完成。

相信吗?你可以五分钟搞定 Linux 容器

Linux 容器针对特定工作负载提供了全新的灵活性与可能性。存在很多解决方案,但是没有一个解决方案能够像 systemd 容器那样进行快速部署。给我五分钟,本文将介绍如何使用由 systemd-nspawn 创建的 systemd 容器。

使用 systemd-nspawn 的最佳环境是运行 CentOS 7.1 及后续版本的测试系统。一定要使用最近的操作系统版本以确保 systemd-nspawn 运行环境达到最优。

systemd-nspawn 需要使用一个目录用于容器的系统根目录。在本示例中我使用的是 /var/lib/container 目录。首先使用 mkdir /var/lib/container 命令创建相应的目录。

开始前,切换到 SELinux 是个好主意。或者至少使用 setenforce Permissive 命令设置为 permissive 模式。在 systemd 环境中更改密码要更简单,而且本文介绍的是 systemd-nspawn,而不是 SELinux。

接下来,需要在该根目录下安装最小的操作系统,yum -y –releaseserver=7Server –installroot=/var/lib/container/centos7 install systemd passwd yum RedHat-release vim-minimal 命令将会在 /var/lib/container/centos7 目录下安装操作系统。该命令确保需要的软件包被拷贝到已经指定的目录下。请注意示例安装的软件包数量是进行 PoC 测试的最低要求。安装 yum 软件包后,就可以增加所需要的其他软件包了。

在该目录下安装了所需要的软件包后,就可以启动容器了。首次尝试时,使用 systemd-nspawn -D /var/lib/container/centos7 - b 命令是一个不错的主意。这将会启动容器并要求你输入 root 密码。问题是还没有设置 root 密码。

这是因为位于 chroot 模式下。在 chroot 环境下,容器主机操作系统无法获取 root 用户的密码。因此,你唯一能做的就是打开另一个 shell,然后中止 systemd-nspawn 进程。

为进入你刚刚登录的完整环境,需要在 systemd-nspawn 命令中增加 passwd 命令。执行该命令时禁用某些不必要的服务是个不错的主意。完整的命令如下所示:

systemd-nspawn -D /var/lib/container/centos7 passwd; systemctl disable kdump postfix firewalld tuned

现在,你可以在 chroot 环境下设置 root 密码了。然后返回主机操作系统的命令提示符。然后,就可以使用 systemd nspawn -D /var/lib/container/centos7 - b 命令了。

马上就可以看到一个立即就能使用、正在运行中的容器。可以使用 systemd-analyze 命令发现启动容器需要多长时间。在容器环境中,可以开始提供你想要的任何服务。为关闭计算机,可以像对待其他虚拟机一样,只需要输入 shutdown 或 poweroff 命令。

在本文中,你已经了解了如何使用 systemd-nspawn 创建 Linux 容器,如示例所示,并不需要做任何复杂的工作。默认需要的仅仅是最新操作系统的一部分。systemd-nspawn 具备成为 Linux 容器解决方案市场重量级玩家的一切要素。

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-12/125832.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1459字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中