Docker正在运行,但Pycharm无法连接到Docker守护进程

Docker正在运行,但Pycharm无法连接到Docker守护进程,docker,pycharm,Docker,Pycharm,我是docker的新手,在这里还没有找到一个问题来回答我遇到的问题 我正在尝试使用Pycharm运行dockerfile,以便调试docker中的某些程序。 我在pycharm中打开了dockerfile,并创建了运行dockerfile的配置。 运行该程序会在“服务”选项卡下显示错误消息: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 在我搜索

我是docker的新手,在这里还没有找到一个问题来回答我遇到的问题

我正在尝试使用Pycharm运行dockerfile,以便调试docker中的某些程序。 我在pycharm中打开了dockerfile,并创建了运行dockerfile的配置。 运行该程序会在“服务”选项卡下显示错误消息:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
在我搜索了这个问题之后,我发现了这个线程:

上面说我应该运行sudockerd。在一些错误之后,我完全卸载了docker,并再次安装了它。 安装后,我运行了:

systemctl status docker
输出为:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-09-26 15:06:22 IDT; 59s ago
     Docs: https://docs.docker.com
 Main PID: 24888 (dockerd)
    Tasks: 21
   CGroup: /system.slice/docker.service
           └─24888 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
因此,我使用
sudo服务docker stop
我再次运行了
systemctl status docker
,它确实停止了:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Sat 2020-09-26 15:09:29 IDT; 16s ago
     Docs: https://docs.docker.com
  Process: 24888 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=0/SUCCES
 Main PID: 24888 (code=exited, status=0/SUCCESS)

Sep 26 15:06:21 DL-2 dockerd[24888]: time="2020-09-26T15:06:21.919021419+03:00" level=info msg="Loading containers: done."
Sep 26 15:06:22 DL-2 dockerd[24888]: time="2020-09-26T15:06:22.265996712+03:00" level=info msg="Docker daemon" commit=4484c46d9
Sep 26 15:06:22 DL-2 dockerd[24888]: time="2020-09-26T15:06:22.266253446+03:00" level=info msg="Daemon has completed initializa
Sep 26 15:06:22 DL-2 dockerd[24888]: time="2020-09-26T15:06:22.642407513+03:00" level=info msg="API listen on /var/run/docker.s
Sep 26 15:06:22 DL-2 systemd[1]: Started Docker Application Container Engine.
Sep 26 15:09:29 DL-2 systemd[1]: Stopping Docker Application Container Engine...
Sep 26 15:09:29 DL-2 dockerd[24888]: time="2020-09-26T15:09:29.427473508+03:00" level=info msg="Processing signal 'terminated'"
Sep 26 15:09:29 DL-2 dockerd[24888]: time="2020-09-26T15:09:29.428067483+03:00" level=info msg="stopping event stream following
Sep 26 15:09:29 DL-2 dockerd[24888]: time="2020-09-26T15:09:29.428325869+03:00" level=info msg="Daemon shutdown complete"
Sep 26 15:09:29 DL-2 systemd[1]: Stopped Docker Application Container Engine.
所以我运行了sudo dockerd,它似乎运行得很好:

INFO[2020-09-26T15:11:03.918879915+03:00] Starting up                                  
INFO[2020-09-26T15:11:03.919388821+03:00] detected 127.0.0.53 nameserver, assuming systemd-resolved, so using resolv.conf: /run/systemd/resolve/resolv.conf 
INFO[2020-09-26T15:11:03.919768789+03:00] parsed scheme: "unix"                         module=grpc
INFO[2020-09-26T15:11:03.919779317+03:00] scheme "unix" not registered, fallback to default scheme  module=grpc
INFO[2020-09-26T15:11:03.919792653+03:00] ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock 0  <nil>}] <nil>}  module=grpc
INFO[2020-09-26T15:11:03.919798154+03:00] ClientConn switching balancer to "pick_first"  module=grpc
INFO[2020-09-26T15:11:03.920399082+03:00] parsed scheme: "unix"                         module=grpc
INFO[2020-09-26T15:11:03.920409757+03:00] scheme "unix" not registered, fallback to default scheme  module=grpc
INFO[2020-09-26T15:11:03.920418642+03:00] ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock 0  <nil>}] <nil>}  module=grpc
INFO[2020-09-26T15:11:03.920423441+03:00] ClientConn switching balancer to "pick_first"  module=grpc
INFO[2020-09-26T15:11:04.050458554+03:00] [graphdriver] using prior storage driver: overlay2 
WARN[2020-09-26T15:11:04.212728085+03:00] Your kernel does not support swap memory limit 
WARN[2020-09-26T15:11:04.212780116+03:00] Your kernel does not support cgroup rt period 
WARN[2020-09-26T15:11:04.212798165+03:00] Your kernel does not support cgroup rt runtime 
WARN[2020-09-26T15:11:04.212812782+03:00] Your kernel does not support cgroup blkio weight 
WARN[2020-09-26T15:11:04.212830211+03:00] Your kernel does not support cgroup blkio weight_device 
INFO[2020-09-26T15:11:04.213206856+03:00] Loading containers: start.                   
INFO[2020-09-26T15:11:04.547434099+03:00] Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address 
INFO[2020-09-26T15:11:04.985878757+03:00] Loading containers: done.                    
INFO[2020-09-26T15:11:05.259805773+03:00] Docker daemon                                 commit=4484c46d9d graphdriver(s)=overlay2 version=19.03.13
INFO[2020-09-26T15:11:05.259975115+03:00] Daemon has completed initialization          
INFO[2020-09-26T15:11:05.418371093+03:00] API listen on /var/run/docker.sock           
INFO[2020-09-26T15:11:03.918879915+03:00]启动
信息[2020-09-26T15:11:03.919388821+03:00]检测到127.0.0.53名称服务器,假设systemd已解析,则使用resolv.conf:/run/systemd/resolv/resolv.conf
信息[2020-09-26T15:11:03.919768789+03:00]解析方案:“unix”模块=grpc
信息[2020-09-26T15:11:03.919779317+03:00]方案“unix”未注册,回退到默认方案模块=grpc
信息[2020-09-26T15:11:03.919792653+03:00]CCresolverRapper:正在向cc发送更新:{[{unix:///run/containerd/containerd.sock 0}]}模块=grpc
信息[2020-09-26T15:11:03.919798154+03:00]客户端连接将平衡器切换到“先拾取”模块=grpc
信息[2020-09-26T15:11:03.920399082+03:00]解析方案:“unix”模块=grpc
信息[2020-09-26T15:11:03.920409757+03:00]方案“unix”未注册,回退到默认方案模块=grpc
信息[2020-09-26T15:11:03.920418642+03:00]CCresolverRapper:正在向cc发送更新:{[{unix:///run/containerd/containerd.sock 0}]}模块=grpc
信息[2020-09-26T15:11:03.920423441+03:00]客户端连接将平衡器切换到“先拾取”模块=grpc
信息[2020-09-26T15:11:04.050458554+03:00][graphdriver]使用以前的存储驱动程序:overlay2
警告[2020-09-26T15:11:04.212728085+03:00]您的内核不支持交换内存限制
警告[2020-09-26T15:11:04.212780116+03:00]您的内核不支持cgroup rt period
警告[2020-09-26T15:11:04.212798165+03:00]您的内核不支持cgroup rt运行时
警告[2020-09-26T15:11:04.212812782+03:00]您的内核不支持cgroup-blkio-weight
警告[2020-09-26T15:11:04.212830211+03:00]您的内核不支持cgroup-blkio-weight\u设备
信息[2020-09-26T15:11:04.213206856+03:00]装载集装箱:开始。
信息[2020-09-26T15:11:04.547434099+03:00]默认网桥(docker0)的IP地址为172.17.0.0/16。守护进程选项——bip可用于设置首选IP地址
信息[2020-09-26T15:11:04.985878757+03:00]装载集装箱:完成。
信息[2020-09-26T15:11:05.259805773+03:00]Docker后台程序提交=4484c46d9d graphdriver=overlay2版本=19.03.13
信息[2020-09-26T15:11:05.259975115+03:00]守护程序已完成初始化
信息[2020-09-26T15:11:05.418371093+03:00]API监听/var/run/docker.sock
但是再次运行dockerfile会导致相同的错误。我完全不知道为什么会发生这种情况,所以我希望得到任何反馈

如果需要更多信息,请告诉我,我很乐意提供。
提前感谢:)

您能在没有
sudo
的情况下运行docker命令,如
docker图像
?如果没有,您应该运行
sudousermod-agdocker$USER
,然后您可以作为非root用户使用
docker
命令()。我不确定它是否能解决您的问题。

Hi-Rui,我运行了该命令,但当我在没有sudo的情况下尝试时,我收到了权限拒绝错误。你认为这会解决问题吗?这听起来像是另一个问题。这意味着你不能以非sudo用户的身份运行docker命令。我猜您可能以非root用户的身份运行Pycharm,并且存在上述问题。所以我建议运行
sudousermod-agdocker$USER
command。它可以解决“非根”问题,也可以解决您原来的问题。我最后一句话的意思是,即使在运行“sudo usermod…”之后,它似乎也不起作用。但今天作为最后一次尝试,我运行了它,效果很好。非常感谢@Rui!您还必须登录和注销linux才能使更改生效