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的版本降了,然后导入成功了,真是。。。好麻烦啊,幸好搞好了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义