在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,之后直接yes
- source ~/.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



















