oj判题系统遇到的问题:当你的Docker Java库无法连接到Docker守护进程的Unix该怎么办?

这个问题我卡了很久😂

然后刚解决,废话不多说请见下图:

错误是这样的:

原因是无法连接docker守护进程。


我的做法是首先把代码改成

DockerClient dockerClient = DockerClientBuilder.getInstance("unix:///var/run/docker.sock").build();

于是乎它报错权限不足。

根据以下步骤:

1.检查Docker Daemon的权限:确保Docker守护进程的Unix套接字文件具有正确的权限。默认情况下,套接字文件的权限应该足够让docker组的成员访问它。使用以下命令检查权限:


ls -l /var/run/docker.sock

2.更改权限


sudo chmod 666 /var/run/docker.sock


然后再次运行DockerDemo.java文件

就开始下载并拉取nginx镜像了:

检查:


注意点:关于Ubuntu版本

我这个电脑用的是ubuntu22.04版本感觉进行的比较顺利,之前使用18.04版本的时候,会特别卡壳,Idea的gateway上一直显示cpu超负荷运转,并且一直没反应。有的时候,Ubuntu的root权限也莫名其妙的获取不到,会导致任何操作都会受到限制,不知道什么原因。


以下是gpt的解答:



DockerClient dockerClient = DockerClientBuilder.getInstance("unix:///var/run/docker.sock").build();


权限问题:


希望能帮到大家!

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
鱼友9113
下载 APP