本帖最后由 gasment 于 2024-3-11 16:35 编辑
嫌弃N1的8G emmc了,最近搞了个黑豹x2,刷了个armbian,装了pve,专门用来跑lxc,备份回滚都很方便
踩坑经验发下吧
1、下载arm版模板包提供几个离线包,防止镜像站没了,有alpine、debian11、ubuntu24 更多系统模板包可以前往此处下载(找到对应系统包的rootfs.tar.xz, 如/ubuntu/jammy/arm64/default/20240307_08:05/rootfs.tar.xz)
⚠️注意:如需在LXC中安装docker,请使用Ubuntu模板,该debian模板本人测试存在问题,加载容器镜像会报错
2、上传模板包到PVE并部署LXC2-1:登录PVE后台,进入储存空间,上传CT模板,如图:ℹ️将rootfs.tar.xz改名为容易记忆的(不要改扩展名)后上传
2-2:创建CT(LXC)容器
如使用ubuntu模板, 按x86方式正常创建即可;
如使用debian模板,有一处要注意:⚠️网络设置不要填写ip信息,指定ip将导致创建容器失败,设为静态,留空即可
3、设置LXC容器固定ip
如使用ubuntu模板,可正确应用模板设置的ip,此步略过;
如使用debian模板,需要手动修改:
3-1:开启LXC,进入控制台 ℹ️此时容器内为DHCP,确认网络连接正常 3-2:编辑网络配置文件 - #先装个文本编辑工具(以debian/ubuntu为例)
- apt-get update
- apt install nano -y
- #打开网络配置文件
- nano /etc/systemd/network/eth0.network
- #定位到[Network]字段,修改为
- [Network]
- Address=192.168.x.xx/24 #ip+掩码
- Gateway=192.168.x.x #网关
- #按ctrl+x,再按y确认保存并退出
- #重启网络服务
- systemctl restart systemd-networkd
- #检查配置是否正确
- ip -c a #检查eth0是否存在刚才配置的ip
- #重启生效
- reboot
复制代码
4、配置ssh登录
ℹ️debian/ubuntu模板包默认不带sshd,需要自行安装配置
进入pve中该lxc的控制台 - #安装openssh和文本编辑器软件包
- apt-get update
- apt install openssh-server nano -y
- #编辑sshd配置文件
- nano /etc/ssh/sshd_conifg
- #查找#PermitRootLogin prohibit-password,删掉#号注释并修改为:
- PermitRootLogin yes
- #按ctrl+x,再按y确认保存并退出
- #重启ssh服务
- systemctl restart sshd
- #尝试使用ssh工具登录root用户
复制代码
5、安装docker、docker-compose(ubuntu模板)
修改apt源为清华源(arm64使用Ubuntu Ports源)
5-1、备份原件:
- cp "/etc/apt/sources.list" "/etc/apt/sources.list.bak"
复制代码 5-2、修改sources.list
- nano /etc/apt/sources.list
复制代码 可以按ctrl+K逐行删除全部内容
粘贴清华源:
- # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
- deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
- # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
- deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
- # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
- deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
- # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
- deb http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse
- # deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse
- # 预发布软件源,不建议启用
- # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-proposed main restricted universe multiverse
- # # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-proposed main restricted universe multiverse
复制代码 保存退出
更新源内容:
5-3、安装Docker前准备
清理之前安装过的残留(可选)
- apt-get remove docker docker-engine docker.io containerd runc
复制代码 安装依赖组件
- apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
复制代码 添加密钥
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
复制代码 验证密钥
- apt-key fingerprint 0EBFCD88
复制代码 验证成功的返回信息:
- pub rsa4096 2017-02-22 [SCEA]
- 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
- uid [ unknown] Docker Release (CE deb) <docker@docker.com>
- sub rsa4096 2017-02-22 [S]
复制代码 导入docker官方源
- add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
复制代码 #期间会提示按回车确认导入
5-4、安装docker
- apt-get update
- apt-get install docker-ce docker-ce-cli containerd.io
- #安装完成后查看docker运行状态
- docker info
复制代码
5-5、安装docker-compose
- apt-get install docker-compose
- #验证版本(返回版本号为安装成功)
- docker-compose -v
复制代码
5-6、配置Docker镜像加速&迁移储存根目录
新建docker配置文件
- nano /etc/docker/daemon.json
复制代码 添加文本:
{
"registry-mirrors" : [
"https://******.mirror.aliyuncs.com",
"https://registry.docker-cn.com"
],
"data-root": "/mnt/docker-root"
}
⚠️修改:https://******.mirror.aliyuncs.com为阿里云镜像加速,具体地址可前往https://cr.console.aliyun.com/登录获取,如图:
⚠️修改:/mnt/docker-root为docker镜像存储目录,修改为你指定的目录
修改完成保存退出
重启docker:
- systemctl daemon-reload
- systemctl restart docker
复制代码 如重启报错,请检查/etc/docker/daemon.json的内容和格式,如图:
重启docker完成后,使用docker info命令检查设置,如图:
✅你可以正常使用docker了
|