How to create a new LXD based system
一、新增LXC容器用户
基于LXD容器的系统最大的好处就是能够为每个用户提供一个完整的独立的开发环境(Linux内核是所有用户公用的),每个用户都可以根据自己的需求修改系统配置而不会影响到其他用户。
然而,更强大的方案往往意味着更高的技术门槛。因此,在不损失可玩性的同时,保证所有水平的用户拥有一个较好的体验,这里提供了两种使用方式。
1.1 克隆Common-Server生成新用户系统
第一种方式是在一个公用容器(已经建立好了一个Common- Server)上直接建立多个用户,然后每个用户分配对应的权限(目前按照最高用户权限来)。这种方式的好处是操作简单,无需重新配置环境,对于新手或者对于无特殊环境要求的开发者友好(Common-Server的内网穿透、PyTorch环境、共享文件夹已经配置好了)。具体操作如下(需要在宿主机上操作):
-
找到要克隆的容器名称:首先,你需要知道你想克隆的原始容器的名称。你可以使用
lxc list
命令来列出所有可用的容器。 -
克隆容器:一旦你知道了要克隆的容器名称,你可以使用
lxc copy
命令来克隆它。格式如下:lxc copy <原容器名称> <新容器名称>
例如,如果你的原始容器名为
mycontainer
,并且你想创建一个名为mycontainer-clone
的克隆,命令将是:lxc copy mycontainer mycontainer-clone
-
启动克隆的容器:克隆完成后,新容器将初始处于停止状态。使用以下命令启动它:
lxc start <新容器名称>
对于上面的例子,命令将是:
lxc start mycontainer-clone
-
检查克隆的容器:使用
lxc list
命令可以查看所有容器的状态,包括你刚刚创建的克隆。
1.2 新增全新LXD系统
某些用户对开发环境有特殊要求,且不希望和其它用户共享环境配置,则建议新增一个LXD容器系统。对于新增LXD容器系统,目前有两种方式,其中一种是直接根据Common-Server的镜像克隆一个系统(系统版本是Ubuntu18.04)。对于需要其它版本系统的用户,需要重新下载新的镜像安装,此时可根据需要配置开发环境。以下是具体操作步骤(需要在宿主机上操作):
-
拉取Ubuntu 20.04镜像:在创建容器之前,你需要从公共镜像服务器中拉取Ubuntu 20.04的镜像。可以使用下面的命令:
lxc launch ubuntu:20.04 <容器名称>
其中
<容器名称>
是你给新容器设置的名称。例如,如果你想命名你的容器为myubuntu20.04
,那么命令将是:lxc launch ubuntu:20.04 myubuntu20.04
这个命令会自动从官方镜像服务器下载Ubuntu 20.04镜像(如果本地没有缓存的话),并基于这个镜像创建一个新的容器。
-
启动容器:一般来说,
lxc launch
命令会自动启动新容器。但如果需要手动启动,可以使用:lxc start <容器名称>
-
获取容器的访问权限:使用以下命令来进入容器的命令行界面:
lxc exec <容器名称> -- bash
这将为你提供一个bash shell,你可以在里面运行命令,就像在一个普通的Ubuntu系统中一样。