WSL(centos7.0.1907.3)安装lxc

安装

1.centos的epel源提供了lxc的安装包,在使用epel源时首先安装epel-release包:

yum -y install epel-release

2.安装lxc软件包和依赖包

yum -y install lxc lxc-templates bridge-utils lxc-libs libcgroup libvirt

安装完成后,通过 lxc-checkconfig 命令来检查系统是否支持 LXC:

lxc-checkconfig

[root@jn-weiyw-qd01 ~]# lxc-checkconfig
Kernel configuration not found at /proc/config.gz; searching...
Kernel configuration found at /boot/config-3.10.0-1160.el7.x86_64
--- Namespaces ---
Namespaces: enabled
Utsname namespace: enabled
Ipc namespace: enabled
Pid namespace: enabled
User namespace: enabled
Warning: newuidmap is not setuid-root
Warning: newgidmap is not setuid-root
Network namespace: enabled
Multiple /dev/pts instances: enabled

--- Control groups ---
Cgroup: enabled
Cgroup clone_children flag: enabled
Cgroup device: enabled
Cgroup sched: enabled
Cgroup cpu account: enabled
Cgroup memory controller: enabled
Cgroup cpuset: enabled

--- Misc ---
Veth pair device: enabled
Macvlan: enabled
Vlan: enabled
Bridges: enabled
Advanced netfilter: enabled
CONFIG_NF_NAT_IPV4: enabled
CONFIG_NF_NAT_IPV6: enabled
CONFIG_IP_NF_TARGET_MASQUERADE: enabled
CONFIG_IP6_NF_TARGET_MASQUERADE: enabled
CONFIG_NETFILTER_XT_TARGET_CHECKSUM: enabled

--- Checkpoint/Restore ---
checkpoint restore: enabled
CONFIG_FHANDLE: enabled
CONFIG_EVENTFD: enabled
CONFIG_EPOLL: enabled
CONFIG_UNIX_DIAG: enabled
CONFIG_INET_DIAG: enabled
CONFIG_PACKET_DIAG: enabled
CONFIG_NETLINK_DIAG: enabled
File capabilities: enabled

Note : Before booting a new kernel, you can check its configuration
usage : CONFIG=/path/to/config /usr/bin/lxc-checkconfig

[root@jn-weiyw-qd01 ~]# 

 在使用 LXC 之前,我们需要先进行一些配置。我们需要创建一个 LXC 的网络桥接接口,用于容器之间的通信。可以通过编辑 /etc/sysconfig/network-scripts/ifcfg-br0 文件来创建一个名为 br0 的网络桥接接口,如果没有ifcfg-br0文件我们可以自己创建一个,然后 添加:

vim  /etc/sysconfig/network-scripts/ifcfg-br0

在文件内添加如下内容:

DEVICE="br0"
TYPE="Bridge"
BOOTPROTO="dhcp"
ONBOOT="yes"
DELAY="0"

然后需要修改 /etc/lxc/lxc.conf 文件,将其中的 lxc.network.link 参数设置为 br0,以便容器可以连接到该网络桥接接口:

lxc.network.link = "br0"

之后需要重启网络服务,以使配置生效:

systemctl restart network

再重启服务时遇到了如下错误

Failed to get D-Bus connection: Operation not permitted

 解决办法是更换systemctl文件
首先备份systemctl文件

mv /usr/bin/systemctl /usr/bin/systemctl.old

然后执行

curl https://raw.githubusercontent.com/gdraheim/docker-systemctl-replacement/master/files/docker/systemctl.py > /usr/bin/systemctl

也可以自己打开该网站https://raw.githubusercontent.com/gdraheim/docker-systemctl-replacement/master/files/docker/systemctl.py,将里面的内容自己复制到 /usr/bin/systemctl

vim /usr/bin/systemctl

最后执行

chmod +x /usr/bin/systemctl

就可以解决报错了!

重启网络服务,使配置生效后,接下来我们可以看一下当前系统中可用的LXC模板容器

ls /usr/share/lxc/templates/

[root@jn-weiyw-qd01 ~]# ls /usr/share/lxc/templates/
lxc-alpine     lxc-busybox  lxc-debian    lxc-gentoo        lxc-oracle  lxc-ubuntu
lxc-altlinux   lxc-centos   lxc-download  lxc-openmandriva  lxc-plamo   lxc-ubuntu-cloud
lxc-archlinux  lxc-cirros   lxc-fedora    lxc-opensuse      lxc-sshd

 创建lxc主机-t 指定模板容器,-n 指定要创建的主机名

lxc-create -n mycentos -t centos

创建完成后,我们可以使用以下命令来启动容器:

lxc-start -n mycentos

[root@jn-weiyw-qd01 ~]# lxc-start -n mycentos
systemd 219 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN)
Detected virtualization lxc.
Detected architecture x86-64.

Welcome to CentOS Linux 7 (Core)!

Running in a container, ignoring fstab device entry for /dev/root.
Cannot add dependency job for unit display-manager.service, ignoring: Unit not found.
[  OK  ] Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Reached target Local Encrypted Volumes.
[  OK  ] Reached target Remote File Systems.
[  OK  ] Reached target Swap.
[  OK  ] Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Reached target Paths.
[  OK  ] Created slice Root Slice.
[  OK  ] Listening on Delayed Shutdown Socket.
[  OK  ] Listening on /dev/initctl Compatibility Named Pipe.
[  OK  ] Listening on Journal Socket.
[  OK  ] Created slice System Slice.
         Mounting Huge Pages File System...
         Starting Remount Root and Kernel File Systems...
         Mounting POSIX Message Queue File System...
         Mounting FUSE Control File System...
         Starting Journal Service...
         Starting Read and set NIS domainname from /etc/sysconfig/network...
[  OK  ] Created slice User and Session Slice.
[  OK  ] Reached target Slices.
[  OK  ] Created slice system-getty.slice.
[  OK  ] Mounted FUSE Control File System.
[  OK  ] Mounted POSIX Message Queue File System.
[  OK  ] Mounted Huge Pages File System.
[  OK  ] Started Remount Root and Kernel File Systems.
         Starting Configure read-only root support...
[  OK  ] Reached target Local File Systems (Pre).
[  OK  ] Started Journal Service.
         Starting Flush Journal to Persistent Storage...
[  OK  ] Started Read and set NIS domainname from /etc/sysconfig/network.
<46>systemd-journald[19]: Received request to flush runtime journal from PID 1
[  OK  ] Started Configure read-only root support.
[  OK  ] Reached target Local File Systems.
         Starting Load/Save Random Seed...
[  OK  ] Started Load/Save Random Seed.
[  OK  ] Started Flush Journal to Persistent Storage.
         Starting Create Volatile Files and Directories...
[  OK  ] Started Create Volatile Files and Directories.
         Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Started Update UTMP about System Boot/Shutdown.
[  OK  ] Reached target System Initialization.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Basic System.
         Starting LSB: Bring up/down networking...
         Starting Permit User Sessions...
[  OK  ] Started D-Bus System Message Bus.
         Starting Login Service...
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Timers.
[  OK  ] Started Permit User Sessions.
         Starting Cleanup of Temporary Directories...
[  OK  ] Started Command Scheduler.
[  OK  ] Started Console Getty.
[  OK  ] Reached target Login Prompts.
[  OK  ] Started Cleanup of Temporary Directories.
[  OK  ] Started Login Service.

CentOS Linux 7 (Core)
Kernel 5.10.16.3-microsoft-standard-WSL2 on an x86_64

mycentos login: toor
Password:
Login incorrect

 启动之前,我们要在/var/lib/lxc/mycentos/tmp_root_pass查看一下容器的默认密码:

cat /var/lib/lxc/mycentos/tmp_root_pass

[root@jn-weiyw-qd01 ~]# cat /var/lib/lxc/mycentos/tmp_root_pass
Root-mycentos-Mt5z0f

之后修改密码后就可以进入容器了 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/80647.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot - 两种方式刷新配置信息

一、第一种方式 ​ConfigurationProperties​不能自动刷新&#xff0c;需要手动调用contextRefresher.refresh()方法来刷新配置。 import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component;Component…

【腾讯云 TDSQL-C Serverless 产品测评】“橡皮筋“一样的数据库『MySQL高压篇』

【腾讯云 TDSQL-C Serverless 产品测评】"橡皮筋"一样的数据库 活动介绍服务一览何为TDSQL &#xff1f;Serverless 似曾相识&#xff1f; 降本增效&#xff0c;不再口号&#xff1f;动手环节 --- "压力"山大实验前瞻稍作简介资源扩缩范围&#xff08;CCU&…

无涯教程-Python - Numbers(数字)

数字数据类型存储数值&#xff0c;它们是不可变的数据类型&#xff0c;这意味着更改数字数据类型的值将导致新分配的对象。 数字对象是在您为其分配值时创建的。例如- var11 var210 您也可以使用 del 语句删除对数字对象的引用。 del语句的语法是- del var1[,var2[,var3[..…

上海交大ACM班总教头团队重磅新作,带你动手学机器学习(文末赠书4本)

目录 0 写在前面1 什么是机器学习&#xff1f;2 ACM 班总教头&#xff1a;俞勇3 动手学习机器学习赠书活动 0 写在前面 机器学习强基计划聚焦深度和广度&#xff0c;加深对机器学习模型的理解与应用。“深”在详细推导算法模型背后的数学原理&#xff1b;“广”在分析多个机器…

Vue+Axios搭建二次元动态登录页面(mp4视频格式)

最近想做一个前端登录页面&#xff0c;背景好看的&#xff0c;格式中规中矩的&#xff0c;这么难&#xff1f;我自己创一个吧&#xff01; 效果图如下&#xff1a; 源码可以参考我的github&#xff0c;复制源码即可用&#xff1a;gym02/loginPage_Vue: 使用VueAxios搭建的动态…

基于Spark+django的国漫推荐系统--计算机毕业设计项目

近年来&#xff0c;随着互联网的蓬勃发展&#xff0c;企事业单位对信息的管理提出了更高的要求。以传统的管理方式已无法满足现代人们的需求。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;随着各行业的不断发展&#xff0c;基…

聚焦重要数据价值丨DolphinDB 降采样算法介绍

1. 绪论 在真实的业务场景中&#xff0c;时间序列数据具有以下特点&#xff1a; 采集频率&#xff08;秒级甚至毫秒级&#xff09;高&#xff0c;导致数据量非常庞大。数据价值密度低。 对数据进行合理的降采样不仅极大地可以降低系统压力、节约存储成本&#xff0c;同时也可…

ES搭建集群

一、创建 elasticsearch-cluster 文件夹 创建 elasticsearch-7.8.0-cluster 文件夹&#xff0c;在内部复制三个 elasticsearch 服务。 然后每个文件目录中每个节点的 config/elasticsearch.yml 配置文件 node-1001 节点 #节点 1 的配置信息&#xff1a; #集群名称&#xff0…

三星Galaxy S23与iPhone 15的对比分析:谁会胜出?

三星Galaxy S23与iPhone 15的对决将于下个月进入高潮,这将是今年智能手机中最大的一场较量。毕竟,这是两家领先的移动设备制造商的旗舰手机。他们的手机的比较将在很大程度上决定谁能获得最佳手机的称号。 我们已经知道有利于三星Galaxy S23的情况,该产品自春季以来一直在推…

【Android】Mobile-Security-Framework-MobSF Manifest 静态扫描规则

前言 移动安全框架&#xff08;MobSF&#xff09;是一个自动化的一体化移动应用程序&#xff08;Android/iOS/Windows&#xff09;测试、恶意软件分析和安全评估框架&#xff0c;能够执行静态和动态分析。MobSF支持移动应用程序二进制文件&#xff08;APK、XAPK、IPA和APPX&am…

易基因:WGBS等揭示丹参甲基化表征及DNA甲基化在丹参酮生物合成中的调控机制|科研速递

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 丹参&#xff08;Salvia miltiorrhiza&#xff0c;S. miltiorrhiza&#xff09;是一种具有重要经济价值和药用价值的模式药用植物&#xff0c;丹参的根会合成一组称为丹参酮&#xff08;…

php 系列题目,包含查看后端源代码

一、弱类型比较问题 原则&#xff1a; 1.字符串和数字比较&#xff0c;字符串回被转换成数字。 "admin" 0&#xff08;true) admin被转换成数字&#xff0c;由于admin是字符串&#xff0c;转换失败&#xff0c;变成0 int(admin)0,所以比较结果是ture 2.混合字符串转…