创建lxc容器模板

乌班图下载

1
2
/var/lib/vz/template/cache
#上传文件夹

容器创建

取消特权容器勾选
其他配置根据自己实际情况设定

容器优化

容器完善

创建完成后容器,不要开机,进入对应容器的选项
勾选一下选项

  • 嵌套
  • nfs
  • smb
  • fuse

容器配置文件

进入pve控制台,进入/etc/pve/lxc文件夹,修改对应的配置文件,添加以下内容

1
2
3
4
5
lxc.apparmor.profile: unconfined
lxc.cgroup.devices.allow: a
lxc.cap.drop:
lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file
1
2
3
4
5
lxc.apparmor.profile: unconfined:这个配置用于 AppArmor 安全模块,指定容器的安全配置为 uncon find(未限制),即容器内的进程可以访问主机上所有的资源。
lxc.cgroup.devices.allow: a:这个配置用于控制容器内的进程可以使用哪些设备。这里的“a”表示“允许所有设备”。
lxc.cap.drop: 这个配置用于控制容器内进程的能力(capability)权限,这里为空表示不限制。
lxc.cgroup2.devices.allow: c 10:200 rwm:这个配置用于控制容器内进程可以使用的 cgroup2 控制器(controller)。c 10:200 表示容器内进程可以使用 /sys/fs/cgroup/unified/system.slice/ 目录下的控制器,rwm 表示容器内进程可以读、写、创建这些控制器。
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file:这个配置用于在容器内创建 /dev/net/tun 设备节点,并且将它绑定到主机上对应的节点。这个设备节点用于容器内的进程实现网络隔离和虚拟网络。

开启第三方登录

1
2
3
4
nano /etc/ssh/sshd_config
PermitRootLogin yes //默认为 no,需要开启 root 用户访问改为 yes
PasswordAuthentication yes //默认为 no,改为 yes 开启密码登陆
service ssh restart

设置东八区与中文

1
2
3
4
5
6
7
8
timedatectl set-timezone Asia/Shanghai
# 追加本地语言配置
echo "zh_CN.UTF-8 UTF-8" >> /etc/locale.gen
# 重新配置本地语言
dpkg-reconfigure locales
# 指定本地语言
export LC_ALL="zh_CN.UTF-8"
#中文的设置

常用软件安装

1
2
3
4
5
6
apt update
apt install zsh git vim curl -y
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

apt install docker.io
apt-get install docker-compose

添加未知命令提示工具

1
2
3
4
5
6
7
nano ~/.zshrc

. /etc/zsh_command_not_found
#在文件末尾添加以上内容

source ~/.zshrc
#配置生效