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
RobinVP
校验提示文案
值友5620578155
校验提示文案
月光鼠
校验提示文案
S级大泡芙
校验提示文案
礅礅吞吞
校验提示文案
rhww
校验提示文案
oengus
校验提示文案
zj1983221
校验提示文案
值友1229702155
校验提示文案
BanKnight
校验提示文案
victor0
校验提示文案
wayes
校验提示文案
callmedaddy
校验提示文案
callmedaddy
校验提示文案
wayes
校验提示文案
oengus
校验提示文案
victor0
校验提示文案
RobinVP
校验提示文案
BanKnight
校验提示文案
值友1229702155
校验提示文案
rhww
校验提示文案
礅礅吞吞
校验提示文案
S级大泡芙
校验提示文案
月光鼠
校验提示文案
值友5620578155
校验提示文案
zj1983221
校验提示文案