【PVE】Proxmox VE8.0+创建LXC容器安装docker

为了不影响PVE宿主机,通常使用套娃的形式安装Docker容器,再安装相关docker应用。首先在CT模板中创建 Linux 容器,推荐使用Debian。开启ssh登录,修改debian配置,安装docker

一、创建 LXC 容器

1、CT模板下载

点击“模板”,下载debian的CT模板
在这里插入图片描述

2、创建 LXC 容器

点击 “创建 CT” 按钮,开始创建新的 LXC 容器。
在这里插入图片描述
主机名按使用场景随便给一个,我这里是要用来安装docker专门跑redis,所以我这里填:redis,输入登录密码,CT ID不用改,使用默认即可。注意要把无特权的容器取消勾选
在这里插入图片描述
选择“CT模板”,这里我选择debian
在这里插入图片描述
磁盘、CPU、内存大小根据自己的实际需要给就行,因为我这里只跑redis用于测试,所以给16g、2C、2G就可以了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
网络:这里手动指定了ip,可以使用dhcp自动分配ip,这个网络创建之后有问题还可以调整
在这里插入图片描述
DNS:dns使用默认就行
在这里插入图片描述
确认好信息,点击完成创建
在这里插入图片描述
在这里插入图片描述
创建完成后先不要开机,在选项中修改开机自启动、控制台模式等
在这里插入图片描述
同时勾选上嵌套,嵌套的意思是允许在LXC容器中嵌套运行其他容器如docker
在这里插入图片描述

3、修改LXC配置文件

进入pve的shell,对刚创建的LXC容器的配置文件进行修改,位置:/etc/pve/lxc,刚刚创建的CT ID100,所以对应修改100.conf
在这里插入图片描述
如下操作进入pveshell中执行

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容器

启动容器并完成相关初始化配置,进入lxc容器后的就是常规的debian系统的配置没什么特殊的

# 查看lxc容器列表
pct list

# 启动lxc容器
pct start 100

# 从pve的shell中进入lxc容器
pct enter 100

在这里插入图片描述
点击lxc容器,点击控制台,进入容器shell,测试网络是否正常,网页端shell有时候会有bug,建议开启ssh后通过ssh连接
在这里插入图片描述

1、替换apt source源为国内源

如果能科学上网,这一步忽略,可以不修改
/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 && apt-get upgrade

在这里插入图片描述
现在就可以使用apt install安装软件了,先装一个vim编辑软件

apt install vim

2、开启lxc容器ssh登录

修改sshd的配置文件,配置文件:/etc/ssh/sshd_config,根据需要找到相关配置进行修改
如下配置为允许root账户使用密码登录

## 允许root登录
PermitRootLogin yes
## 允许密码登录,yes为允许,no为禁止密码登录
PasswordAuthentication yes
# 如下正常为默认配置,不需要修改
## 配置公钥登录
PubkeyAuthentication yes
AuthorizedKeysFile   .ssh/authorized_keys

1)配置root账户密码登录

直接使用如下命令追加配置,实现root账号密码登录

cat >> /etc/ssh/sshd_config <<EOF
PermitRootLogin yes
PasswordAuthentication yes
EOF

修改后记得重启sshd使配置生效

systemctl restart sshd

2)配置公钥登录(publickey)

在客户端机器执行

cd ~/.ssh

生成公钥publickey

ssh-keygen -t rsa -b 4096 -C "user@gmail.com"

上传客户端公钥到目标机器

ssh-copy-id -i id_rsa.pub root@192.168.8.187

在主机上执行
公钥配置上传成功,成功使用公钥登录后,建议关闭密码登录,即在主机上修改配置PasswordAuthenticationyes改为no,允许密码登录 > 禁止密码登录

sed -i '$s/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config

修改后记得重启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官网命令安装,需要自行解决科学上网

curl -sSL https://get.docker.com/ | sh

在这里插入图片描述
安装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

参考文档:
cat EOF的覆盖与追加
Linux sed命令实现替换文本内容
Debian 配置中文环境
PVE下创建LXC debian 容器并安装docker

V P S,价 格 合 适,邮箱注册📮

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值