Linux安装docker、git、Python等环境
记录在Linux操作系统中安装docker、git、Python、uv、pyenv等各种环境。包括CentOS7.9和Rocket Linux10、龙蜥Anolis8.10 等几个版本的Linux。
记录在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
参考官网: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
更多推荐
所有评论(0)