记录在Linux操作系统中安装docker、git、Python、uv、pyenv等各种环境。

包括CentOS7.9和Rocket Linux10、龙蜥Anolis8.10 等几个版本的Linux。

鉴于CentOS7-8已停更,各种组件版本较低,CentOS Stream的发布方式据说存在不稳定因素。

所以也尝试使用了一些替代品如Rocket Linux10,还有类似的Alma Linux10。

目录

Rocket Linux 10 / Anolis 8.10

安装git

安装uv

安装pyenv

安装Python 3.13.5

安装podman代替docker

安装podman-compose

podman配置国内镜像源

podman中的default

Linux安装nodejs、npm

CentOS7.9

安装docker

其他

报错SSL_ERROR_SYSCALL

Linux查看磁盘空间df -h

Linux查看版本号等信息

VMware安装龙蜥Anolis 8.10

Linux配置固定IP

VMware安装rocket Linux 10

Rocket Linux10 配置固定IP


Rocket Linux 10 / Anolis 8.10


 

安装git

参考官网:https://git-scm.com/book/zh/v2

安装命令:

sudo dnf install git-all

测试:

git status

安装uv

参考 https://docs.astral.sh/uv/getting-started/installation/#installation-methods

# 安装
curl -LsSf https://astral.sh/uv/install.sh | sh

# 测试

[andy@localhost ~]$ uv --version
uv 0.7.13

# 失败则可能需要添加环境变量
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bash_profile

# 加载配置
source ~/.bashrc

# 测试

[andy@localhost ~]$ uv --version
uv 0.7.13

安装pyenv

参考 https://github.com/pyenv/pyenv?tab=readme-ov-file#1-automatic-installer-recommended

# 安装

curl -fsSL https://pyenv.run | bash

# 配置环境变量
vi ~/.bashrc

# 在末尾添加
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init - bash)"
eval "$(pyenv virtualenv-init -)"

# 重新加载配置
source ~/.bashrc

# 测试
pyenv --version
pyenv 2.6.2

安装Python 3.13.5

Rocket Linux 10默认Python版本还可以接受,暂不修改

[andy@localhost opt]$ python --version
Python 3.12.9

Anolis 8.10默认的3.6.8

[root@localhost opt]# python3
Python 3.6.8 (default, Dec  5 2024, 13:46:54) 

安装Python 3.13.5

# 检查gcc是否可用
gcc --version

# 不可用则需要安装工具和依赖
yum groupinstall -y "Development Tools"

yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel

# 解决安装Python报错No module named '_ssl'
# 软件包 1:openssl-devel-1.0.2k-26.el7_9.x86_64 已安装并且是最新版本
# CentOS 7 默认的 OpenSSL 1.0.2 版本对 Python 3.13 支持不足,建议安装 OpenSSL 1.1.1
# 添加EPEL和ius源
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install -y https://repo.ius.io/ius-release-el7.rpm

# 安装OpenSSL 1.1.1
yum install -y openssl11-devel

# 设置环境变量
export CPPFLAGS="-I/usr/include/openssl11"
export LDFLAGS="-L/usr/lib64/openssl11"


# 安装Python最新的发布版
pyenv install 3.13.5

# 切换默认Python版本
pyenv global 3.13.5

# 测试

[root@localhost docker]# python --version
Python 3.13.5

安装podman代替docker

Docker官方尚未为RHEL 10提供稳定支持。

RHEL 10官方推荐使用podman作为容器解决方案。据说已经是新版Linux标配了,无需额外安装。使用和docker类似。可识别和运行docker镜像。

[andy@localhost opt]$ sudo dnf install podman -y
Package podman-6:5.4.0-9.el10_0.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
[andy@localhost opt]$ podman --version
podman version 5.4.0
 

可选择安装podman-docker,即可完全使用docker命令操作podman

[andy@localhost opt]$ sudo dnf install podman-docker
Last metadata expiration check: 0:18:07 ago on Tue 17 Jun 2025 02:39:10 AM EDT.
Dependencies resolved.
[andy@localhost opt]$ docker --version
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
podman version 5.4.0
 

安装podman-compose

RHEL 10 默认源可能不含podman-compose,需先配置 EPEL 源或容器技术相关源

# 启用EPEL源(若未启用)、CRB(附加软件包)源(部分包需此源)
sudo dnf install epel-release -y

sudo dnf config-manager --set-enabled crb


# 安装

sudo dnf install podman-compose -y

# 测试

podman-compose --version
podman-compose version 1.4.0
podman version 5.4.0

podman配置国内镜像源

镜像地址参考:https://blog.csdn.net/c12312303/article/details/146428465

# 编辑镜像配置文件

vim /etc/containers/registries.conf

# 修改

unqualified-search-registries = ["docker.io"]

# 添加如下内容
[[registry]]
prefix = "docker.io"
location = "docker.1ms.run"
insecure = true

[[registry.mirror]]
location = "docker.1ms.run"
insecure = true

# 添加多个则复制上面三行多份

龙蜥操作系统使用的配置文件/etc/containers/registries.conf.d/001-rhel-shortnames.conf

强制将短名称(如 couchbase/server)解析到 Red Hat 注册中心

可修改dockerfile文件,如

vi ./couchbase-server/Dockerfile

# 修改from为

FROM docker.io/couchbase/server:latest AS stage_base

podman中的default

podman运行报错RuntimeError: missing networks: default

原因:docker默认创建了default的networks 而podman没有,且default为其保留关键字
解决:创建podman_default,将yaml中的default修改为podman_default
podman network create podman_default
podman_default

并且需要在yaml末尾显示声明

networks:
  podman_default:
    driver: bridge
    external: true

Linux安装nodejs、npm

下载(最新版查看 https://nodejs.org/en/download)
wget https://nodejs.org/dist/v22.16.0/node-v22.16.0-linux-x64.tar.xz

解压
tar -xvJf node-v22.16.0-linux-x64.tar.xz

创建软连接
ln -s /opt/node-v22.16.0-linux-x64/bin/node /usr/local/bin/node
ln -s /opt/node-v22.16.0-linux-x64/bin/npm /usr/local/bin/npm

# 配置环境变量
vi /etc/profile
# 添加
export NODE_HOME=/opt/node-v22.16.0-linux-x64/bin/
export PATH=$PATH:$NODE_HOME:/usr/local/bin/

# 刷新环境变量
source /etc/profile

测试
node -v
npm -v

CentOS7.9

git、pyenv等相同的安装方式见上文

安装docker

参考官网 https://docs.docker.com/engine/install/centos/


Linux安装docker
参考官网 https://docs.docker.com/engine/install/centos/


# uninstall old
sudo dnf remove docker \
  docker-client \
  docker-client-latest \
  docker-common \
  docker-latest \
  docker-latest-logrotate \
  docker-logrotate \
  docker-engine

# 存储在 /var/lib/docker/ 中的镜像、容器、卷和网络在您卸载 Docker 时不会自动删除

# 有三种安装方式,官方推荐使用 rpm 仓库安装

# 安装 dnf-plugins-core 软件包
sudo dnf -y install dnf-plugins-core
# 设置仓库
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 最新版本时针对CentOS9的 这里安装指定可用版本
# sudo dnf install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin

# 列出当前系统可用版本 docker-ce 和 docker-ce-cli
[root@localhost docker]# dnf list docker-ce --showduplicates | sort -r
可安装的软件包
docker-ce.x86_64            3:26.1.4-1.el7                      docker-ce-stable

# 版本号解析:时期3 用于解决排序问题,主版本号为26.1.4,发布号1.el7 表示针对el7系统的第一次发布

# 如安装 3:26.1.4-1.el7 版本
sudo dnf install docker-ce-3:26.1.4-1.el7 containerd.io docker-buildx-plugin docker-compose-plugin

# 启动-需要用的时候手动启动
sudo systemctl start docker

# 启动-开机自动启动
# sudo systemctl enable --now docker

# 测试
sudo docker run hello-world

docker images

docker ps -a
 

其他

报错SSL_ERROR_SYSCALL

git下载代码,或访问其他https地址报错SSL_ERROR_SYSCALL
[ecs-assist-user@iZbp13z53cm3ufqwvtpw77Z ~]$ git clone https://github.com/langgenius/dify.git
Cloning into 'dify'...
error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 104
error: 58 bytes of body are still expected
fatal: expected flush after ref listing


解决:升级SSL库
sudo yum update openssl curl -y

Linux查看磁盘空间df -h


df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        3.7G     0  3.7G   0% /dev
tmpfs           3.7G   84K  3.7G   1% /dev/shm
tmpfs           3.7G  476K  3.7G   1% /run
tmpfs           3.7G     0  3.7G   0% /sys/fs/cgroup
/dev/nvme0n1p3   40G   38G     0 100% /

Linux查看版本号等信息

CentOS7.9中:

查看版本号

[root@localhost docker]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

查看系统、内核版本等信息
[root@localhost docker]# uname -a
Linux localhost.localdomain 3.10.0-1160.71.1.el7.x86_64 #1 SMP Tue Jun 28 15:37:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
 

Rocket Linux 10中:

[andy@localhost ~]$ cat /etc/redhat-release
Rocky Linux release 10.0 (Red Quartz)
 

[andy@localhost ~]$ uname -a
Linux localhost.localdomain 6.12.0-55.12.1.el10_0.x86_64 #1 SMP PREEMPT_DYNAMIC Fri May 23 17:41:02 UTC 2025 x86_64 GNU/Linux
 

VMware安装龙蜥Anolis 8.10

选择龙蜥Anolis 8.10 ISO镜像,这里下载的是minimal版本,更轻量一些,软件按需安装

选择Linux5.x内核64位

剩余安装界面和CentOS基本一致

Linux配置固定IP

查看网口:一般是ens开头的

[root@localhost ~]# ip addr

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP>……

编辑网口:

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33

# 修改

BOOTPROTO=static

ONBOOT=yes

# 添加 配置固定IP

IPADDR=192.168.187.120
PREFIX=24
GATEWAY=192.168.187.2
DNS1=8.8.8.8
DNS2=114.114.114.114
 

VMware安装rocket Linux 10

Rocket Linux10 配置固定IP

打开终端运行

sudo nmtui

回车选择Edit a connection

回车选择网口

将IPv4 CONFIGURATION 行, <Automatic> 改为 Manual

点击show,编辑address、gateway、DNS

保存点击最最下面的ok

重新打开nmtui,选择Activate a connection,将网口active

完成(貌似还是需要重启才能生效……)

测试:ping www.baidu.com

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐