LXC安装docker打造轻量化pt下载机
proxmox有个很实用的工具经常被忽略——LXC,使用pve配合LXC可以灵活地扩缩容容器,并且可以通过手机app或者浏览器实时监控系统状态。
Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源。
虚拟机和lxc容器的区别
简单地说,lxc与虚拟机最大的不同就是是否使用宿主机内核。lxc在运行的时候相当于在宿主机的内核上运行另一个操作系统,并且将这部分程序隔离。虚拟机在运行的时候会虚拟cpu,并且在这个虚拟的cpu上运行虚拟机的内核,在内核的基础上再运行操作系统。
总之会慢不少。
lxc容器与docker容器的比较
docker也是一种容器技术,与lxc相比,lxc明显有一个弊端,lxc没有很多易用的镜像,浏览proxmox的lxc模板列表,基本都是各种linux发行版和部分比较热门的应用,比如nextcloud镜像。docker与之相比有海量的镜像资源,进入docker hub基本上能想到的软件都有docker镜像。
如果直接在proxmox宿主机上运行docker-engine,会让管理变得复杂,需要同时管理proxmox和docker。开一台虚拟机运行ubuntu并且安装docker解决了管理复杂的问题,又会有不少的资源浪费,在需要扩容的时候操作也比较复杂。因此在LXC中运行docker是一个比较好的解决方案。
在lxc中运行docker,docker里的应用其实还是运行在宿主机的内核上,因此这种套娃的性能损失挺小的,cpu性能的损失可以忽略。
在lxc中安装docker
加载内核模块
docker需要aufs和overlay两个内核模块,因为lxc运行在宿主机内核上,所以宿主机内核加载了这两个模块,lxc容器自然就可以使用他们。先在宿主机加载这两个模块
进入宿主机的命令行输入 modprobe aufs && modprobe overlay 加载模块
这个操作是临时的,为了每次开机自动加载需要修改/etc/modules。在后面添加两行
aufs
overlay
创建容器
点击右上角的创建容器
系统我选择了ubuntu,然后按照指引一步步完成创建容器。
由于lxc的一些设定,直接运行docker会报错权限不足。所以需要修改容器选项。点击容器的选项找到最下面的签名一栏。
勾选前两个按键和嵌套然后点击ok。
这时容器已经创建完毕,可以直接开机安装docker了。
安装docker
进入系统以后先把软件源换成国内的镜像源,我选择使用阿里云镜像源。
配置完镜像源以后apt update一下。接着开始安装docker,如果使用其他系统可以参考官方的安装教程,我这里演示的是ubuntu的安装方法。
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get -y install docker-ce docker-ce-cli containerd.io
照着输命令就完成了docker的安装,最后验证一下是否安装成功。执行docker run hello-world,如果没有报错说明docker装好了。
安装docker-compose
为了更方便地管理docker容器,安装一个docker-compse,这是一个docker的辅助工具。
sudo apt -y install python3-pip
pip3 install docker-compose
先不要急着装软件,做一个模板
辛苦那么久在lxc中安装了docker,可能以后都不想折腾了
,不妨把现在的系统作为以后的起点
。先把容器关机,点击右上角的更多,点击下拉菜单的转换为模板。几秒钟过后转换就完成了。
这个时候会发现刚才的虚拟机开机键不见了,先不要慌,还是点击右上角的更多,在下拉菜单选择克隆。在窗口中设置好想要的主机名,并且把模式改为链接克隆,这样可以节省很多硬盘空间
点击克隆,一台新的容器出现了。擦电~开机~还是熟悉的味道,docker可以正常运行。
基础环境都搭建完成 开始安装qbittorrent与h5ai
可以参考我的设置无脑装
cd
mkdir downloads && mkdir qbconfig && mkdir h5aiconfig
nano docker-compose.yml
在编辑器中粘贴以下内容
---
version: "2.1"
services:
qbittorrent:
image: ghcr.io/linuxserver/qbittorrent
container_name: qbittorrent
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- WEBUI_PORT=8080
volumes:
- ./qbconfig:/config
- ./downloads:/downloads
network_mode: host
restart: unless-stopped
h5ai:
image: bin20088/h5ai
container_name: h5ai
environment:
- HTPASSWD=true
- HTPASSWD_USER=smzdm_timzhong
- HTPASSWD_PW=pass2word3
volumes:
- ./downloads:/h5ai
- ./h5aiconfig:/config
ports:
- 80:80
restart: unless-stopped
执行:docker-compose up -d 稍等一会大功告成。
可以直接在浏览器访问 http://你的容器ip:8080 进入qbittorrent控制台。默认账户admin,默认密码adminadmin。初次进入是英文界面,在设置里可以更改为中文。
访问 http://你的容器ip 查看所有下载好的文件。
写在最后
还记得前面那个模板吗,用这个模板还能轻松地克隆更多容器,探索更多玩法。欢迎关注,后续还有很多有关proxmox虚拟机和容器的文章。更多教程文章会看情况搬运一部分来张大妈
在升级6.3-3版本后,会出现docker无法启动的问题,需要将lxc降级为上一个版本。 依次输入以下命令 1. apt-get install lxc-pve=4.0.3-1 2. apt-mark hold lxc-pve










校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案