五分钟搞定Linux容器
【TechTarget中国原创】 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容器解决方案市场重量级玩家的一切要素。 我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。 我原创,你原创,我们的内容世界才会更加精彩!
TechTarget中国原创内容,原文链接: http://www.searchvirtual.com.cn/showcontent_91502.htm
© TechTarget中国:http://www.techtarget.com.cn
五分钟搞定Linux容器的更多相关文章
- 五分钟搞定 Linux 文档全部知识,就看这篇文章
作者:无痴迷,不成功 来源:见文末 写在前面 我们都知道Linux是一个支持多用户.多任务的系统,这也是它最优秀的特性,即可能同时有很多人都在系统上进行工作,所以千万不要强制关机,同时,为了保护每个人 ...
- 五分钟搞定Go.js
五分钟搞定Go.js 1.基于html5~因为Go.js是一个依赖于HTML5特性的JavaScript库,所以需要确保您的页面声明它是一个HTML5文档,当然需要加载库 <!DOCTYPE ...
- zookeeper-架构设计与角色分工-《每日五分钟搞定大数据》
本篇文章阅读时间5分钟左右 点击看<每日五分钟搞定大数据>完整思维导图 zookeeper作为一个分布式协调系统,很多组件都会依赖它,那么此时它的可用性就非常重要了,那么保证可用性的同 ...
- zookeeper核心-zab协议-《每日五分钟搞定大数据》
上篇文章<paxos与一致性>说到zab是在paxos的基础上做了重要的改造,解决了一系列的问题,这一篇我们就来说下这个zab. zab协议的全称是ZooKeeper Atomic Bro ...
- HDFS-异常大全-《每日五分钟搞定大数据》
点击看<每日五分钟搞定大数据>完整思维导图以及所有文章目录 问题1:Decomminssioning退役datanode(即删除节点) 1.配置exclude: <name>d ...
- 五分钟搞定 HTTPS 配置,二哥手把手教
01.关于 FreeSSL.cn FreeSSL.cn 是一个免费提供 HTTPS 证书申请.HTTPS 证书管理和 HTTPS 证书到期提醒服务的网站,旨在推进 HTTPS 证书的普及与应用,简化证 ...
- 五分钟搞定Docker安装ElasticSearch
前言 项目准备上ElasticSearch,为了后期开发不卡壳只能笨鸟先飞,在整个安装过程中遇到以下三个问题. Docker安装非常慢 ElasticSearch-Head连接出现跨域 Elastic ...
- 五分钟搞懂 Linux 重点知识,傻瓜都能学会!
来源:无痴迷,不成功 www.cnblogs.com/justmine/p/9053419.html 写在前面 我们都知道Linux是一个支持多用户.多任务的系统,这也是它最优秀的特性,即可能同时有很 ...
- 3分钟搞定Linux系统正则表达式
正则表达式是一种字符模式,用于在查找过程中匹配制定的字符. 元字符通常在Linux中分为两类:Shell元字符,由Linux Shell进行解析:正则表达式元字符,由vi/grep/sed/awk等文 ...
随机推荐
- Vue汇总(搬砖)
掘金: https://juejin.im/ Element: http://element-cn.eleme.io/#/zh-CN 验证码GEETEST---极验 : https://docs.ge ...
- ArrayList与Vector区别
ArrayList与Vector区别表 ArrayList Vector 1.实现原理:采用动态对象数组实现,默认构造方法创建了一个空数组 1.实现原理:采用动态数组对象实现,默认构造方法创建了一个大 ...
- 【转】Nginx跳转任意Http请求到Https
网站买了证书,绿条,多霸气! 那么自然得拦截http的访问方式了. 拦截http,301到https 各种Google,最后在Nginx官网找到例子,配置很简单,如下: server { listen ...
- pta 编程题13 File Transfer
其它pta数据结构编程题请参见:pta 这道题考察的是union-find并查集. 开始把数组中每个元素初始化为-1,代表没有父节点.为了使树更加平衡,可以让每一个连通分量的树根的负值代表这个连通分量 ...
- centos下的安装mysql,jdk
mysql: 如果你是用rpm安装, 检查一下RPM PACKAGE:rpm -qa | grep -i mysql如果mysql已经安装在本机,则会列出mysql安装过的文件 ,像mysql-ser ...
- POJ 1769 Minimizing maximizer (线段树优化dp)
dp[i = 前i中sorter][j = 将min移动到j位置] = 最短的sorter序列. 对于sorteri只会更新它右边端点r的位置,因此可以把数组改成一维的,dp[r] = min(dp[ ...
- POJ-3565 Ants---KM算法+slack优化
题目链接: https://vjudge.net/problem/POJ-3565 题目大意: 在坐标系中有N只蚂蚁,N棵苹果树,给你蚂蚁和苹果树的坐标.让每只蚂蚁去一棵苹果树, 一棵苹果树对应一只蚂 ...
- java基础编程——链表反转
题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 题目代码 /** * @program: JavaCode * @description:输入一个链表,按链表值从尾到头 ...
- let和const在es6中的异同点
let和const这两个都是声明一个变量或函数的方法与var差不太多的效果 let的声明在for循环中,当你定义的是多少,最后你的值就是多少开始的,它只进行一次循环,不会像var那样去一遍一遍的去遍历 ...
- Angular2 Service获取json数据
在Angular2框架下一般交互解析json是要用到Service的,其实除了Service还是很多的,今天先写个最简单的前后端数据交互 嗯~~ 首先我先在app包下直接创建Service 好了 这里 ...