LXC中安装docker

proxmox有个很实用的工具经常被忽略——LXC,使用pve配合LXC可以灵活地扩缩容容器,并且可以通过手机app或者浏览器实时监控系统状态。

虚拟机和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

配置lxc容器

点击对应容器,点击选项,编辑签名,在按键嵌套后面打勾。

安装docker

docker官方安装教程

以下是ubuntu安装docker的操作

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装好了。

sudo docker run hello-world

安装docker-compose

sudo apt -y install python3-pip
pip3 install docker-compose

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

在PVE中安装黑群晖 上一篇
网卡选购的那些坑之CNVio 下一篇