【问题标题】:Docker is Running But Pycharm Cannot Connect to Docker DaemonDocker 正在运行,但 Pycharm 无法连接到 Docker 守护进程
【发布时间】:2021-01-12 14:13:25
【问题描述】:

我是 docker 新手,在这里找不到问题来回答我遇到的问题。

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

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

我在谷歌上搜索了这个问题后,发现了这个帖子:Cannot connect to the Docker daemon at unix:/var/run/docker.sock. Is the docker daemon running?

这说我应该运行sudo dockerd。在一些错误之后,我完全卸载了 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 service 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           

但是再次运行 dockerfile 会导致同样的错误。我不知道为什么会发生这种情况,所以我会很感激任何反馈。

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

【问题讨论】:

    标签: docker pycharm


    【解决方案1】:

    你能在没有sudo的情况下运行诸如docker images之类的docker命令吗?如果没有,您应该运行sudo usermod -aG docker $USER,然后您可以以非root 用户(https://docs.docker.com/engine/install/linux-postinstall/)的身份使用docker 命令。我不确定它是否能解决您的问题。

    【讨论】:

    • 嗨 Rui,我运行了命令,但是当我尝试不使用 sudo 时,出现权限被拒绝错误。你认为它会解决问题吗?在我看来,这听起来像是一个不同的问题。
    • 这意味着您不能以非 sudo 用户身份运行 docker 命令。我想也许您以非 root 用户身份运行 Pycharm 并遇到上述问题。所以我建议运行sudo usermod -aG docker $USER 推荐。它可以解决“非root”问题,并可能解决您原来的问题。
    • 我上一条评论的意思是,即使在运行“sudo usermod ...”之后,它似乎也不起作用。但是今天作为最后一次尝试,我运行它并且运行良好。非常感谢@Rui!
    • 您还必须登录和注销 linux 才能使更改生效
    【解决方案2】:

    对于 Pop!_OS 用户:

    如果您通过 PoP!_Shop 将 PyCharm / PhpStorm / IntelliJ 安装为 flatpack 映像:

    flatpak override --user --filesystem=/run/docker.sock com.jetbrains.PyCharm-Community
    

    根据使用的版本/风格更改尾随 jetbrains 产品名称(此处为:PyCharm-Community)。

    【讨论】:

    • 这也适用于 Manjaro Linux。感谢@nash0rn 的回答。
    【解决方案3】:

    如果其他建议没有帮助,只需重新启动计算机/笔记本电脑。它帮助了我:)

    【讨论】:

      猜你喜欢
      • 2021-10-27
      • 1970-01-01
      • 2023-02-04
      • 2022-07-07
      • 2014-03-19
      • 1970-01-01
      • 2019-06-01
      • 2018-11-08
      • 1970-01-01
      相关资源
      最近更新 更多