【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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/959243.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何为64位LabVIEW配置正确的驱动程序

在安装 64位 LabVIEW 后&#xff0c;确保驱动程序正确配置是关键。如果您首先安装了 32位 LabVIEW 和相关驱动&#xff0c;然后安装了 64位 LabVIEW&#xff0c;需要确保为 64位 LabVIEW 安装和配置适当的驱动程序&#xff0c;才能正常访问硬件设备。以下是详细步骤&#xff1a…

MVCC底层原理实现

MVCC的实现原理 了解实现原理之前&#xff0c;先理解下面几个组件的内容 1、 当前读和快照读 先普及一下什么是当前读和快照读。 当前读&#xff1a;读取数据的最新版本&#xff0c;并对数据进行加锁。 例如&#xff1a;insert、update、delete、select for update、 sele…

设计模式-建造者模式、原型模式

目录 建造者模式 定义 类图 优缺点 角色 建造者模式和工厂模式比较 使用案例 原型模式 定义 类图 优缺点 应用场景 应用类型 浅克隆 深克隆 建造者模式 定义 将一个复杂的对象的构造与它的表示分离&#xff0c;使同样的构建过程可以创建不同的表示&#xff0c;…

Midscene.js:重新定义UI自动化的新时代工具

前言 Midscene.js 是一个创新的、面向开发者的 UI 自动化解决方案&#xff0c;并通过人工智能技术简化自动化脚本的编写与维护。 它提供了三种核心方法——交互&#xff08;.ai, .aiAction&#xff09;、提取&#xff08;.aiQuery&#xff09;和断言&#xff08;.aiAssert&am…

【落羽的落羽 数据结构篇】算法复杂度

文章目录 一、数据结构和算法简介二、算法复杂度1. 时间复杂度2. 空间复杂度 一、数据结构和算法简介 数据结构是计算机存储、组织数据的方式&#xff0c;指相互之间存在一种或多种特定关系的数据元素的集合。没有一种单一的数据结构对所有用途都有用&#xff0c;所以我们要学…

如何使用tushare pro获取股票数据——附爬虫代码以及tushare积分获取方式

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据 总结 一、Tushare 介绍 Tushare 是一个提供中国股市数据的API接口服务&#xff0c;它允许用户…

Java 实现Excel转HTML、或HTML转Excel

Excel是一种电子表格格式&#xff0c;广泛用于数据处理和分析&#xff0c;而HTM则是一种用于创建网页的标记语言。虽然两者在用途上存在差异&#xff0c;但有时我们需要将数据从一种格式转换为另一种格式&#xff0c;以便更好地利用和展示数据。本文将介绍如何通过 Java 实现 E…

迅为RK3568开发板篇OpenHarmony实操HDF驱动控制LED-添加内核编译

编译内核时将该 HDF 驱动编译到镜像中&#xff0c;接下来编写驱动编译脚本 Makefile&#xff0c;代码如下所示&#xff1a; 加入编译体系&#xff0c;填加模块目录到 drivers/hdf_core/adapter/khdf/linux/Makefile 文件 更多内容可以关注&#xff1a;迅为RK3568开发板篇OpenHa…

【含开题报告+文档+PPT+源码】基于SpringBoot的校园跑腿管理系统

开题报告 本文旨在探讨校园跑腿系统的设计与实现&#xff0c;通过深入研究与分析&#xff0c;实现了一套包含用户管理、发布跑腿单、跑腿抢单、跑腿单评论、在线留言以及用户在线充值等功能的综合性系统。该系统以提高校园内物品跑腿与配送效率为核心目标&#xff0c;为广大学…

|Python新手小白中级教程|第三十一章:日期与时间(time库使用指令——深化)——time库的9种常见函数【实用干货,一定要收藏!】

文章目录 前言导入一、基础函数&#xff1a;time.time() time.localtime() time.mktime()1.time函数2.localtime函数3.mktime函数 二、更加复杂的函数&#xff1a;gmtime函数,asctime函数,ctime函数4.gmtime函数5.asctime函数6.ctime函数 三、应用型&#xff1a;sleep函数&…

【以音频软件FFmpeg为例】通过Python脚本将软件路径添加到Windows系统环境变量中的实现与原理分析

在Windows系统中&#xff0c;你可以通过修改环境变量 PATH 来使得 ffmpeg.exe 可在任意路径下直接使用。要通过Python修改环境变量并立即生效&#xff0c;如图&#xff1a; 你可以使用以下代码&#xff1a; import os import winreg as reg# ffmpeg.exe的路径 ffmpeg_path …

计算机网络三张表(ARP表、MAC表、路由表)总结

参考&#xff1a; 网络三张表&#xff1a;ARP表, MAC表, 路由表&#xff0c;实现你的网络自由&#xff01;&#xff01;_mac表、arp表、路由表-CSDN博客 网络中的三张表&#xff1a;ARP表、MAC表、路由表 首先要明确一件事&#xff0c;如果一个主机要发送数据&#xff0c;那么必…

C++11 可变参数模版

目录 1.可变参数模版 1.1概念 1.2递归方式展开参数包 1.3逗号表达式展开参数包 1.可变参数模版 1.1概念 C11的新特性可变参数模板&#xff0c;这是一种允许模板函数或模板类接受任意数量参数的特性。可变参数模板极大地增强了模板的灵活性和表达能力&#xff0c;使得编写…

React和Vue有什么区别,如何选择?

React和Vue有什么区别&#xff0c;如何选择&#xff1f; React 和 Vue 是当前最受欢迎的前端框架之一&#xff0c;两者在开发者中都有极高的声誉。它们都旨在帮助开发人员构建用户界面&#xff0c;但在实现方式和适用场景上有所不同。如果你正考虑在项目中选择 React 或 Vue&a…

Yocto项目 - 解读CROss PlatformS (CROPS)

一、概述 Yocto项目是一个用于创建自定义Linux发布版本的工具集成项目&#xff0c;在应对复杂应用场景时能提供高度可自定义性。但是在多端机应用中&#xff0c;如何在不同的平台上可靠地完成构建工作&#xff1f;CROss PlatformS (CROPS)即展示了其重要作用。 CROPS是Yocto项…

Electron学习笔记,安装环境(1)

1、支持win7的Electron 的版本是18&#xff0c;这里node.js用的是14版本&#xff08;node-v14.21.3-x86.msi&#xff09;云盘有安装包 Electron 18.x (截至2023年仍在维护中): Chromium: 96 Node.js: 14.17.0 2、安装node环境&#xff0c;node-v14.21.3-x86.msi双击运行选择安…

如何快速开发LabVIEW项目,成为LabVIEW开发的高手

发现了一篇多年前写的文章&#xff0c;转发到这里 如何快速开发LabVIEW项目&#xff0c;成为LabVIEW开发的高手。 如果您手里有LabVIEW项目&#xff0c;领导催的又很紧&#xff0c;该怎么办&#xff1f; 如果您公司规模小&#xff0c;就想把LabVIEW项目快速搞定&#xff0c;有什…

RTMP|RTSP播放器只解码视频关键帧功能探讨

技术背景 我们在做RTMP|RTSP直播播放器的时候&#xff0c;遇到过这样的技术诉求&#xff0c;在一些特定的应用场景中&#xff0c;可能只需要关键帧的信息&#xff0c;例如视频内容分析系统&#xff0c;可能只对关键帧进行分析&#xff0c;以提取特征、检测对象或场景变化。鉴于…

Lua 环境的安装

1.安装Lua运行环境 本人采用的是在windows系统中使用cmd指令方式进行安装&#xff0c;安装指令如下&#xff1a; winget install "lua for windows" 也曾使用可执行程序安装过&#xff0c;但由于电脑是加密电脑&#xff0c;最后都已失败告终。使用此方式安装可以安…

Prometheus+grafana实践:Doris数据库的监控

文章来源&#xff1a;乐维社区 Doris数据库背景 Doris&#xff08;Apache Doris&#xff09;是一个现代化的MPP&#xff08;Massive Parallel Processing&#xff0c;大规模并行处理&#xff09;数据库&#xff0c;主要用于在线分析处理&#xff08;OLAP&#xff09;场景。 D…