docker - Docker 正在运行,但 Pycharm 无法连接到 Docker 守护进程
问题描述
我是 docker 新手,在这里没有找到问题来回答我遇到的问题。
我正在尝试使用 Pycharm 运行 dockerfile,以便调试 docker 内的某些程序。我在 pycharm 中打开了 dockerfile,并创建了运行 dockerfile 的配置。运行程序会导致“服务”选项卡下出现错误消息:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
在我用谷歌搜索问题后,我发现了这个线程:无法连接到 unix:/var/run/docker.sock 上的 Docker 守护进程。docker 守护进程是否正在运行?
其中说我应该跑步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 命令,例如docker images
withoutsudo
吗?如果没有,您应该运行sudo usermod -aG docker $USER
,然后您可以docker
以非 root 用户身份使用命令(https://docs.docker.com/engine/install/linux-postinstall/)。我不确定它是否能解决您的问题。
推荐阅读
- php - GET 参数不为空,但我不能在 PHP 函数上使用它
- php - jQuery Datatables - 如何更改服务器端排序顺序
- go - 检查结构在运行时是否具有结构嵌入
- java - Spring Boot项目构建成功,报错
- maven - Bazel Maven SHA缓存不匹配
- c++ - 如何从 C++ 将字符串传递给 OCaml
- angular6 - 测试用例挂在错误的验证上
- excel - 自动过滤然后选择特定单元格下方的范围并选择可见单元格并删除整行
- rest - Qlik 感知工具与 InfluxDB 的集成
- reactjs - 使用本机反应在 apollo 客户端中调用另一个查询 onComplete 的一个查询