在centors上升级glibc为2.18,使用yum最新源直接安装不行,使用源码安装还不行,因为必须使用2.18版本glic,采用先安装docker,在启动新的Ubuntu,在ubuntu里配置自己的环境
1. centors安装docker
- 查看docker的安装包版本:
yum list docker --showduplicates | sort -r
- 安装docker:
sudo yum install -y docker
- 查看安装版本,确认已安装:
docker --version
2. docker拉取镜像
- 使用指令
docker pull ubuntu:20.04
安装,但是出现问题,网络不行,说是被监管了,详细可看其他人的博客:解决Docker镜像无法拉取问题 - 这里使用该博客中手动安装ubuntu镜像的方式,从ubunt的官方docker镜像 下载镜像,并放到centors环境中
- 进行安装:
docker load -i "ubuntu-docker.tar"
- 使用
docker images
查看是否存在ubuntu
3. 新建ubuntu镜像的容器
- 启动容器:
docker run --name ubuntu -it -p 60022:22 ubuntu bash
- 然后就进入了ubuntu环境:
apt update
apt upgrade
4. 新建可以使用GPU的ubuntu容器
参考博客:安装nvidia-docker及安装过程出现的问题 ;环境配置及其问题解决
说是可以直接使用nvidia的官方文档来配置环境就可以:官方安装文档,奈何服务器的curl出错,curl -V
都能出错,我也是真的服气了,所以选择手动安装nvidia container的软件
- 打开链接:nvidia-container-toolkit
- 根据linux版本和cpu厂家下载相关压缩包,即,ubuntu选择deb,centors选择rpm,amd选amd64,inter选x86
- 然后把下载好的压缩包放到服务器上
tar -zvxf nvidia-container-toolkit_1.16.2_rpm_x86_64.tar.gz
cd release-v1.16.2-stable/
cd packages/
cd centos7/
cd x86_64/
ls
会看到很多的rpm文件
- 依次安装每一个rpm文件:
rpm -i xxx.rpm
, 在其中安装可能会遇到错误,我是安装libnvidia-container-libseccomp2-1.16.2-1.x86_64.rpm
时遇到错误,解决不了,所以这个就没安装,但是后续不影响 - 安装结束后,执行:
sudo nvidia-ctk runtime configure --runtime=docker
- 接着执行:
sudo systemctl restart docker
- 然后环境就配置好了,可以新建可以使用gpu的容器了:
docker run -it --name ubuntu-gpu -p 60023:22 --gpus all ubuntu
- 然后直接在docker容器中
nvidia-smi
就可以看到gpu的信息了
5. 进行一些初始配置
-
安装gcc:
apt install gcc
-
安装make:
apt install make
-
安装glibc:
apt install libc6
-
安装miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
, 按enter键一直按,然后输入yes,继续enter,接下来有需要更换路径的自行更换,不需要直接enter,之后直接yessource ~/.bashrc
查看是否安装完成
6. 退出容器,下次再次进入
- 退出容器:exit
- 停止容器:docker stop ubuntu
- 下次开启并进入容器的命令行:
docker start ubuntu
然后再docker exec -it ubuntu /bin/bash
7. docker镜像的相关指令
从ubuntu镜像中退出:exit
- 查看当前正在运行的docker容器:
docker ps
- 查看所有的docker容器:
docker ps -a
- 启动一个容器:
docker start contain_name
- 关闭一个容器:
docker stop contain_name
- 启动后进入容器:
docker attach contain_name
- 启动容器后如何进入到容器的命令行:
docker exec -it ubuntu /bin/bash
- 暂停一个容器:
docker pause container_name