docker centos镜像配置

因为在docker中下载的centos镜像是简化版的centos,所以很多东西都是没有的,所以我仿照这篇博客,对centos进行了基本的配置,并使用Xshell进行了连接,

博客地址:https://blog.csdn.net/weixin_30828401/article/details/128171645

在配置过程中,可能会出现yum源出错的问题,按照出错的提示在网上搜索即可,有很多解决的方案。(听起来很简单,我捣鼓好久,唉。。。)

 

出现了问题,之前配置的容器让我删掉了,重新配置一遍,记录下来:

1.pull centos 7的镜像后,执行命令:docker run -it -d --name=paddle --privileged --gpus all -p 8022:22 -p 8080:8080  centos:7 /usr/sbin/init(一定要加--gpus all,才会连接到宿主机的gpu,要不然根本识别不到。。)

映射到本机8022端口上;

2.修改文件,执行命令:vi /etc/resolv.conf,加入nameserver 8.8.8.8公网;

3.继续修改文件,执行命令:vi /etc/yum.repos.d/CentOS-Base.repo,我之前从网上找的方法不知道为什么时而管用时而不管用,然后我发现了一个一劳永逸的方法,就是直接把文件修改成这个样子:

复制代码
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#
 
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#released updates 
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
复制代码

  执行命令:yum clean all(清空缓存),然后  yum makecache(手动缓存),没有报错就好了。

4.执行命令:  yum update -y  更新yum。

5.然后安装密码和ssh服务,便于后续连接,执行命令:yum install passwd openssl openssh-server -y 下载好后,启动sshd,执行命令:systemctl start sshd

 并配置开机自启动,执行命令:systemctl enable sshd,然后设置密码,执行命令:passwd,输入新密码,需要输入两次(我一般就是123456了)。

6.使用Xshell新建连接,窗口设置如下图:

只需要改这四个,其它都不需要修改。接下来就可以使用Xshell愉快的玩耍了。

7.然后我一般喜欢在目录 /opt下mkdir创建一个software目录,用来装我下载的一些东西,好找。

8.执行命令:yum -y install wget下载wget包,准备下载cuda,

执行命令:wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run

9.下载好后执行命令:yum install sudo下载sudo包,然后执行命令:sudo sh cuda_11.6.0_510.39.01_linux.run --override 安装cuda,为了防止出现与gcc版本不匹配的问题,加上--override

10.按照图形化界面指示下一步就好,执行命令:vi ~/.bashrc,在文件末尾加上:

1
2
export PATH=/usr/local/cuda-11.6/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64:$LD_LIBRARY_PATH

 然后执行命令:source ~/.bashrc  使其立即生效。

输入命令:nvcc --version  检查是否下载成功。

11.然后下载cudnn,下载地址:https://developer.nvidia.com/rdp/cudnn-archive#a-collapse811-111 下载好后用xftp从宿主机传到容器中。

12.执行命令:tar -xvf cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz 解压该文件,解压好后就可以删除压缩包了,进入到解压好的cudnn文件内,

执行命令:sudo cp include/cudnn*.h /usr/local/cuda-11.6/include/  还有:sudo cp lib/libcudnn* /usr/local/cuda-11.6/lib64/   

还有:sudo chmod a+r /usr/local/cuda-11.6/include/cudnn*.h  最后:sudo chmod a+r /usr/local/cuda-11.6/lib64/libcudnn*

13.执行命令:cat /usr/local/cuda-11.6/include/cudnn_version.h | grep CUDNN_MAJOR -A 2  查看cudnn是否安装成功

14.去python官网下载,

 然后用xftp传上去,执行命令:tar -zxvf Python-3.7.4.tgz 解压文件。然后就可以删除原压缩包了。

15.下载运行python3需要的包,执行命令:

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel gcc make

然后进入到路径/usr/local/下,创建一个名称为python3.7的文件夹。

16.进入到解压好的python中,执行命令:./configure --prefix=/usr/local/python3.7进行安装,然后还是在这个文件中执行命令:make && make install 进行编译安装等。

17.稍微等待一会可以发现python3.7中已经有文件了,然后我们来创建软链接:

   ln -s /usr/local/python3.7/bin/python3.7 /usr/bin/python3  和  ln -s /usr/local/python3.7/bin/pip3.7 /usr/bin/pip3

18.验证是否安装成功,执行命令:python3

 安装成功!可以把原文件删掉了。

19.配置pip安装清华源,执行命令:pip3 config --global set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/

ok完成!!哇哇~~

 

 

额然后大致说一下安装paddle遇到的问题:安装paddle直接按照官网的下载就好了,我是用的pip的下载方式,python的版本是3.7.4,然后cuda的版本是11.6,cudnn的版本我下载的是8.4.0,下载是没有遇到什么问题,打开python3 导入paddle的时候,首先出现的问题是:

ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/local/python3.7/lib/python3.7/site-packages/paddle/fluid/libpaddle.so)

然后我上网搜了一下好像是缺了什么东东,然后我下载了一个叫libstdc++6的包然后放进去就可以了,紧接着又出现另一个问题,说是openssl这个包和urllib3的这个包不兼容的意思,我一开始是把openssl包的版本升级了,后面发现另一个包ssl使用的是低版本的openssl,然后我就是白下载了又换了回来,所以就是把urllib3的版本降了,然后导入成功了,真是。。。好麻烦啊,幸好搞好了。

posted @   KongLong_cm  阅读(84)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示