以下的环境配置步骤是本人踩了若干个坑总结出来的
1、下载Docker,附官网地址:
注:验证Docker是否安装成功,可使用命令:Docker --Version 进行验证,出现如下所示界面,表示安装成功。
2、打开Docker软件,电脑界面右上角会出现如下图所示的第一个小图标.
(注:后面的一切操作都基于打开Docker软件)
3、配置Docker镜像,Home界面--->设置--->Docker Engine,参考下图:
将文本框中的内容替换为:
{
"experimental": false,
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn"
],
"features": {
"buildkit": true
}
}
(至此:Docker配置结束,下面步骤安装Centos镜像和容器)
4、拉取Centos镜像:Docker pull Centos.
(默认拉取最新版本的Centos8,latest)
利用命令Docker images查看当前所有的镜像
此时,Docker软件中的images界面,多了Centos镜像,如下图所示:
5、创建容器:在刚刚拉取的Centos镜像下,创建容器
docker run -it --platform linux/amd64 -v /Users/xxx/yourfilename:/csapp" --name=csapp centos /bin/bash
注:
(1)--platform linux/amd64一定要加,否则后面安装CSAPP实验必要的库glibc-devel.i686会出错.通过--platform linux/amd64直接创建的是x86的centos(如下图所示),如若不加,创建的是aarch64的Centos,而ARM gcc/g++ -m编译参数并不支持32位和64位。
(2)/Users/xxx/yourfilename:/csapp:主机上要同步的文件夹的路径
(3)--name=csapp:这里的csapp是Docker上文件夹的名称,可以替换为自己的名称
此次会出现错误Failed to download metadata for repo ‘AppStream’ [CentOS],解决方法如下:
cd /etc/yum.repos.d/
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
yum update -y
6、安装CSAPP实验必要的库和工具:
更新yum源:yum -y update
安装sudo:yum install sudo
安装C/C++编译环境:yum install make automake gcc gcc-c++ kernel-devel
安装gdb:yum install gdb
安装32位嵌入式C库:yum install glibc-devel.i686
至此,通过Docker创建的CSAPP实验环境就完成了!
撒花,希望大家配置环境顺利,少踩坑!!!