Ubuntu 20.04安装及配置docker
在安装docker的过程中主要参考博客:ubuntu20.04 安装docker (详细版)
但是在测试:
sudo docker run hello-world
时报错:
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
查看配置文件中的DNS地址:
cat /etc/resolv.conf
$ cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 127.0.0.53
说明DNS的地址是不对的,因此修改配置文件如下:
nameserver 8.8.8.8
nameserver 114.114.114.114
并且修改docker的daemon.json
sudo gedit /etc/docker/daemon.json
{"registry-mirrors" : ["https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc",
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://dockerproxy.com",
"https://gst6rzl9.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"http://mirrors.ustc.edu.cn/",
"https://mirrors.tuna.tsinghua.edu.cn/",
"http://mirrors.sohu.com/"
],"insecure-registries" : ["registry.docker-cn.com","docker.mirrors.ustc.edu.cn"],
"debug": true,
"experimental": false
}
重载文件,并重启docker:
sudo systemctl daemon-reload
sudo systemctl restart docker
就可以成功拉取镜像了!
docker pull XXXXX
接下来构建docker容器:
docker run -it --device=/dev/dri:/dev/dri --env="XDG_RUNTIME_DIR=/tmp" --env="DISPLAY" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" --volume="$HOME/.Xauthority:/root/.Xauthority:rw" --name your_container_name ulong2/ie_kalibr_image:latest此命令将启动具有您的自定义名称的容器(your_container_name)并在其中打开一个终端窗口:--device=/dev/dri:/dev/dri:通过直接渲染接口(DRI)启用硬件加速。
--env="DISPLAY":将显示环境变量传递给容器。
--env="XDG_RUNTIME_DIR=/tmp":确保与使用的一些 GUI 应用程序兼容xdg。
--volume="/tmp/.X11-unix:/tmp/.X11-unix:rw":共享 X11 套接字。
--volume="$HOME/.Xauthority:/root/.Xauthority:rw":共享 X11 身份验证凭据。
--name:为正在运行的容器分配一个名称。
ulong2/ie_kalibr_image:latest:您的 Docker 镜像。
然后进入容器拉取相关代码并编译即可。