PVE8.3.1创建LXC部署Docker
在经过前面几篇的换源操作后,CT模板应该就能顺利下载了
为了不影响PVE宿主机,通常使用套娃的形式安装Docker容器,再安装相关Docker应用。因此首先在CT模板中创建 Linux 容器,推荐使用Debian。开启SSH登录,修改LXC Debian,部署Docker容器。
1、CT模板下载
点击“模板”,下载debian的CT模板
2、创建 LXC 容器
点击 “创建 CT” 按钮,开始创建新的 LXC 容器。
主机名可以任意起,输入登录密码,CT ID
不用改,使用默认即可。注意要把无特权的容器取消勾选
选择“CT模板”,这里选择之前下载的模板debian
磁盘、CPU、内存大小根据自己的实际需要给就行
网络:这里手动指定了ip,可以使用dhcp自动分配ip,这个网络创建之后有问题还可以调整
确认好信息,点击完成创建
创建完成后先不要开机,在选项中修改开机自启动、控制台模式等
同时勾选上嵌套,嵌套的意思是允许在LXC容器中嵌套运行其他容器如docker
3、修改LXC配置文件
进入pve的shell,对刚创建的LXC容器的配置文件进行修改,位置:/etc/pve/lxc
,刚刚创建的CT ID
是100
,所以对应修改100.conf
,
如下操作进入pve
的shell
中执行
cd /etc/pve/lxc && vim 100.conf
将如下配置添加进去
lxc.cgroup.devices.allow: a lxc.cap.drop: lxc.cgroup2.devices.allow: c 10:200 rwm
或者执行如下命令直接写入,注意将[CT_ID]
修改为100
cat >> /etc/pve/lxc/[CT_ID].conf << EOF lxc.cgroup.devices.allow: a lxc.cap.drop: lxc.cgroup2.devices.allow: c 10:200 rwm EOF
这里说一下关于部分教程内提到的配置是添加以下内容(去掉#号注释部分的内容),自行二选一即可
lxc.apparmor.profile: unconfined # 表示容器内的进程将不受任何 AppArmor 限制
lxc.mount.auto: cgroup:rw
lxc.mount.auto: proc:rw
lxc.mount.auto: sys:rw
lxc.cap.drop: # 用于指定容器内进程的能力限制,允许进程执行一些特定的操作,例如修改系统时间、挂载文件系统等
lxc.cgroup.devices.allow: a
二、启动LXC容器
启动容器并完成相关初始化配置,进入lxc容器后的就是常规的LXC debian系统的配置
# 查看lxc容器列表 pct list # 启动lxc容器 pct start 100 # 从pve的shell中进入lxc容器 pct enter 100
点击lxc容器,点击控制台,进入容器shell,测试网络是否正常,网页端shell有时候会有bug,建议开启ssh后通过ssh连接
1、替换apt source源为国内源
如果能科X上网,这一步忽略,可以不修改
将/etc/apt/sources.list
中的内容替换为如下内容,替换前建议先进行备份
cp /etc/apt/sources.list /etc/apt/sources.list.bk
如下命令覆盖/etc/apt/sources.list
原内容
cat > /etc/apt/sources.list <<EOF deb https://mirrors.ustc.edu.cn/debian bookworm main contrib deb https://mirrors.ustc.edu.cn/debian bookworm-updates main contrib deb https://mirrors.ustc.edu.cn/debian-security bookworm-security main contrib EOF
验证
apt-get update
2、开启lxc容器ssh登录
修改sshd的配置文件,配置文件:/etc/ssh/sshd_config
,根据需要找到相关配置进行修改
如下配置为允许root账户使用密码登录
cat >> /etc/ssh/sshd_config <<EOF
PermitRootLogin yes
PasswordAuthentication yes
EOF
修改后记得重启sshd
使配置生效
systemctl restart sshd
3、配置Debian中文环境
1.安装语言包: 首先需要确保系统中已经安装了语言包。可以使用 apt 工具来安装:
apt update
apt install -y locales
2.配置 locale: 接下来需要配置系统的 locale 设置。运行以下命令打开 locale 的配置界面:
dpkg-reconfigure locales
在出现的列表中选择 zh_CN.UTF-8(使用上下箭头来移动,并使用空格来选择)。然后在下一个界面中选择 zh_CN.UTF-8 作为默认的 locale
# 查看当前语音设置 locale # 查看本地已安装语言包 locale -a # 设置语言包,在编辑此配置,最后一行加入如下配置 vim ~/.bashrc export LANG=zh_CN.utf8
4、配置Debian时区
timedatectl set-timezone Asia/Shanghai # 设置时区 systemctl start systemd-timesyncd # 自动同步时间
三、LXC容器上安装docker
先安装curl
apt install -y curl
直接使用docker官网命令安装,需要自行解决科X上网问题
curl -sSL https://get.docker.com/ | sh
安装完成后执行命令验证
docker --version
安装docker-compose
curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose # 如下两条命令是避免docker-compose重启lxc容器后失效 echo "export PATH=\$PATH:/usr/local/bin" >> /etc/profile echo "source /etc/profile" >> ~/.bashrc && source ~/.bashrc
参考:
https://blog.csdn.net/UberSoldier/article/details/145300118
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)