无法从 docker-compose 连接到 docker
Can't connect to docker from docker-compose
我在 Mac OS 10.8.5.
[= 上安装了 docker-machine 0.1.0 和 docker-compose 1.1.0 34=]-machine 运行 正常并且能够通过 docker-machine ssh 连接。
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
dev * virtualbox Running tcp://192.168.99.100:2376
但是无法从 docker-compose 连接。
$ docker-compose up
Couldn't connect to Docker daemon at http+unix://var/run/docker.sock - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
我的 Docker 文件和 docker-compose.yml 在这里。
Docker文件
FROM centos:centos7
DOCKER_HOST tcp://192.168.99.100:2376
docker-compose.yml
web:
build: .
为什么连接不上?有什么想法吗?
Docker 机器是 运行ning。但是您需要导出一些环境才能连接到 Docker 机器。默认情况下,docker
CLI 客户端尝试使用 http+unix://var/run/docker.sock
与守护程序通信(如错误消息中所示)。
使用 eval $(docker-machine env dev)
导出正确的环境变量,然后重试。您也可以只 运行 docker-machine env dev
查看它将导出的环境变量。请注意,其中一个是 DOCKER_HOST
,正如错误消息提示您可能需要设置
对我来说简单的解决方案:sudo docker-compose up
2016-3-14 更新:在 docker 安装过程(或 docker-compose ?)的某个时刻,有一个建议和示例将您的用户名添加到 "docker" 组。这使您可以避免在所有 docker 命令之前需要 "sudo",如下所示:
~ > docker run -it ubuntu /bin/bash
root@665d1ea76b8d:/# date
Mon Mar 14 23:43:36 UTC 2016
root@665d1ea76b8d:/# exit
exit
~ >
仔细查看安装命令的输出(docker 和 docker-compose 的第二次安装),您会发现必要的步骤。它也记录在这里:https://subosito.com/posts/docker-tips/
Sudo? No!
Tired of typing sudo docker everytime you issue a command? Yeah, there
is a way for dealing with that. Although naturally docker is require a
root user, we can give a root-equivalent group for docker operations.
You can create a group called docker, then add desired user to that
group. After restarting docker service, the user will no need to type
sudo each time do docker operations. How it looks like on a shell
commands? as a root, here you go:
> sudo groupadd docker
> sudo gpasswd -a username docker
> sudo service docker restart
Done!
更新 2017-3-9
Docker安装instructions have been updated here.
Post-Linux
的安装步骤
本节包含配置 Linux 主机以更好地与 Docker 配合使用的可选过程。
以非 root 用户身份管理 Docker
docker 守护程序绑定到 Unix 套接字而不是 TCP 端口。默认情况下,Unix 套接字由用户 root 拥有,其他用户只能使用 sudo 访问它。 docker 守护程序始终以 root 用户身份运行。
如果你不想在使用 docker 命令时使用 sudo,创建一个名为 docker 的 Unix 组并向其中添加用户。当 docker 守护进程启动时,它使 docker 组拥有 Unix 套接字 read/writable。
要创建 docker 组并添加您的用户:
# 1. Create the docker group.
$ sudo groupadd docker
# 2. Add your user to the docker group.
$ sudo usermod -aG docker $USER
# 3. Log out and log back in so that your group membership is re-evaluated.
# 4. Verify that you can run docker commands without sudo.
$ docker run hello-world
此命令下载测试图像并在容器中运行它。当容器运行时,它会打印一条信息性消息并退出。
有人检查过日志吗?
在我的案例中,/var/log/upstart/docker.log
中的错误消息是:
Listening for HTTP on unix (/var/run/docker.sock)
[graphdriver] using prior storage driver "aufs"
Running modprobe bridge nf_nat failed with message: , error: exit status 1
Error starting daemon: Error initializing network controller: Error creating default "bridge" network: can't find an address range for interface "docker0"
值得一提的是我打开了 vpn,所以:
$ sudo service openvpn stop
$ sudo service docker restart
$ docker-compose up|start
$ sudo service openvpn start
是解决方案。
如果您在 Linux 上,您可能没有安装 docker-machine
,因为它仅默认安装在 Windows 和 Mac 计算机上。
如果是这样,您将需要:https://docs.docker.com/machine/install-machine/ 找到有关如何在您的 Linux 版本上安装它的说明。
安装后,重试 运行 docker-compose up
,然后再尝试上面列出的任何操作。
希望这对某人有所帮助。这适用于我在 Fedora 25 中安装的 devilbox。
默认情况下,docker 守护程序始终以 root 用户身份运行,因此您需要在 Docker 命令前添加 sudo
。
如果你不想在使用 docker 命令时使用 sudo,创建一个名为 docker 的 Unix 组并向其中添加用户。当 docker 守护进程启动时,它使 docker 组拥有 Unix 套接字 read/writable。
要创建 docker 组并添加您的用户:
创建 docker 组。
$ sudo groupadd docker
将您的用户添加到 docker 组。
$ sudo usermod -aG docker $USER
注销并重新登录,这样您的组成员资格就是 re-evaluated。
验证您可以 docker 命令而不使用 sudo。
$ docker run hello-world
此命令下载测试图像并在容器中运行它。当容器运行时,它会打印一条信息性消息并退出。
我也有过同样的症状。
唯一不同的是它仅在 docker-compose build
期间发生
docker ps
成功了。
发生在版本 2.x
以及 3.x
上。
重新启动 docker
服务,然后机器...
连重装了 docker
+ docker-compose
.
什么都试过了,但没有任何帮助。
最后我尝试使用 docker build
.
构建 Dockerfile "manually"
显然我在 Docker
上下文中的 file/folder 上遇到了权限问题。它在开始构建时尝试读取上下文,但失败并显示正确的错误消息。
但是,此错误消息 没有 传播到 docker-compose
,后者仅显示 Couldn't connect to Docker daemon at http+unix://var/run/docker.sock - is it running?
发现解决方案只是将 file/folder 添加到 .dockerignore
文件,因为构建不需要它。另一个解决方案可能是 chown
或 chmod
它。
无论如何,这可能会帮助遇到与 docker
和所显示的误导性错误消息无关的相同问题。
@srfrnk 的回答对我有用。
在我的情况下,我有下一个 docker-compose.yml 文件:
nginx:
build:
context: ./
dockerfile: "./docker/nginx.staging/Dockerfile"
depends_on:
- scripts
environment:
NGINX_SERVER_NAME: "some.host"
NGINX_STATIC_CONTENT_OPEN_FILE_CACHE: "off"
NGINX_ERROR_LOG_LEVEL: debug
NGINX_BACKEND_HOST: scripts
NGINX_SERVER_ROOT: /var/www/html
volumes:
- ./docker-runtime/drupal/files:/var/www/html/sites/default/files:rw
ports:
- 80:80
./docker-runtime
所有者和组 - 是 root
当其他文件所有者 - 我的用户。
当我尝试构建 nginx
Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
我将 ./docker-runtime
添加到 .dockerignore
,它解决了我的问题。
sudo systemctl start docker
- 启动 Docker 服务。
sudo docker-compose up
之后
我有 Fedora 26,并试图解决我最终进入 Docker Compose on Fedora Developers' page and then Docker on Fedora Developers' page 的相同问题,这对我有帮助。
可能,社区认为 docker 服务从系统开始,运行 一直在后台运行,但对我来说并不是那么明显,这就是我能想到的原因为什么没有像这样的热门答案。
在 Fedora Developers' page 上有如何启用 Docker 以随系统启动的说明:
sudo systemctl enable docker
如果您开始 docker 使用 sudo
,那么您应该 运行 docker-用 sudo
来弥补
喜欢:sudo docker-compose up
如果您使用的是 docker-machine,那么您必须使用 env 变量激活环境。
如果你没有使用 docker-machine 然后 运行 你的命令 sudo
我是开始升级Docker,中途取消了。我没有注意到 Docker 不是 运行(如果是的话,我的 Macbook 顶部导航栏上有一个图标,表示电池剩余电量、时间等)。我启动它并完成升级后,docker-compose up
又开始工作了!
$sudo docker-组合
我确实按照上述答案中的步骤ps 将$USER 添加到组docker。我不想添加新组 docker,因为在我的 docker 安装中自动创建了一个名为 docker 的组。
但使用 docker-compose up 也不起作用。它给出了与之前相同的错误。
所以在我的情况下(Ubuntu 18.10) sudo docker-compose up 解决了这个问题。
ps: @Tiw 谢谢指教
试试这个:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
while 运行 docker-compose pull
- 我低于错误
ERROR: Couldn't connect to Docker daemon at http+docker://localhost
是运行吗?
解决方案 -
sudo service docker start
问题已解决
我的设置有两种情况导致此错误:
__pycache__
根用户在我 运行 容器内集成测试后创建的文件无法访问 docker(告诉您原始问题)和 docker-compose(告诉您关于docker 含糊其词);
microk8s
阻止了我的端口,直到我停止它。
尝试运行宁dockerd
或sudo dockerd
如果需要首先启动守护进程。如果您以 sudo
开头 dockerd
,您可能还想 运行 docker-compose up
加上 sudo
。否则没关系。
的工作解决方案
除了将用户添加到 docker 组之外,为了避免重复输入 sudo
,您还可以为 docker
命令创建一个别名,如下所示:
alias docker-compose="sudo docker-compose"
alias docker="sudo docker"
当您遇到错误时:
ERROR: Couldn't connect to Docker daemon at http+docker://localhost -
is it running?
解决方案将是:
首先,尝试验证 Docker 服务已启动并且 运行 如预期在您的 remote/local 机器上:sudo service docker status
if Not - 运行 sudo service docker start
或 sudo systemctl start docker
(取决于某些 linux 版本,参见 Docker get started instructions)。
其次,启动dockeras sudosudo docker-compose up
我已经按照以下步骤解决了问题
$ sudo service docker status
$ sudo service docker start
$ sudo docker-compose up
现在 docker-正在撰写中
我知道这很愚蠢,但就我而言,我只是尝试使用 sudo
并且效果很好。
对于你的情况,只需尝试:$ sudo docker-compose up
注销然后重新登录对我很有帮助。在我的例子中是全新安装,我创建了一个新用户,新组然后将用户添加到 docker 组。
退出
退出
然后再次ssh进入服务器
以下对我有用,我不确定是哪一部分起作用了:
julian:project$ sudo service docker status
julian:varys$ sudo service docker status
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-07-15 01:21:16 UTC; 24min ago
Docs: https://docs.docker.com
Main PID: 6762 (dockerd)
Tasks: 25
CGroup: /system.slice/docker.service
└─6762 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
julian:project$ export DOCKER_HOST=unix:///run/containerd/containerd.sock
julian:project$ sudo groupadd docker
groupadd: group 'docker' already exists
julian:project$ sudo gpasswd -a $USER docker
Adding user ubuntu to group docker
julian:project$ newgrp docker
julian:project$ ls -ln /var/run/ | grep docker
drwx------ 5 0 0 120 Jul 15 01:10 docker
-rw-r--r-- 1 0 0 4 Jul 15 01:10 docker.pid
srw-rw---- 1 0 999 0 Jul 15 01:10 docker.sock
julian:project$ sudo rm /var/run/docker.sock
julian:project$ sudo rm /var/run/docker.pid
julian:project$ sudo service docker restart
我在 Ubuntu 20.0.4 中通过
解决了这个问题
sudo chmod 666 /var/run/docker.sock
然后
sudo service docker start && docker-compose up -d
工作中!!
我尝试使用以下命令及其工作
service docker restart
docker-compose -f docker_compose.yaml down
docker-compose -f docker_compose.yaml up
1 . sudo service docker stop
2 . sudo service docker status
3 . sudo service docker start
4 . docker-compose build <app_name\service_name>
如果您正在使用 linux
尝试sudo docker-compose up
尝试使用以下方式重新启动您的 docker 环境:
systemctl restart docker
解决此问题的快速方法
Just add sudo before your docker command, like
sudo docker-compose up
运行 以此为根。 sudo docker-compose up --build
可能存在权限问题,按照我的命令解决。
sudo chown $USER /var/run/docker.sock
感谢 Max 的解决方案:https://whosebug.com/posts/60282354/revisions
对我有用的解决方案是将图像标签更改为小写字母。
更改 docker-compose.yml 文件中的图像标签,以包含小写字母的存储库 IP 和图像名称。
例如:图像:192.168.1.5/图像名称:v1
我在 Mac OS 10.8.5.
[= 上安装了 docker-machine 0.1.0 和 docker-compose 1.1.0 34=]-machine 运行 正常并且能够通过 docker-machine ssh 连接。
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
dev * virtualbox Running tcp://192.168.99.100:2376
但是无法从 docker-compose 连接。
$ docker-compose up
Couldn't connect to Docker daemon at http+unix://var/run/docker.sock - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
我的 Docker 文件和 docker-compose.yml 在这里。
Docker文件
FROM centos:centos7
DOCKER_HOST tcp://192.168.99.100:2376
docker-compose.yml
web:
build: .
为什么连接不上?有什么想法吗?
Docker 机器是 运行ning。但是您需要导出一些环境才能连接到 Docker 机器。默认情况下,docker
CLI 客户端尝试使用 http+unix://var/run/docker.sock
与守护程序通信(如错误消息中所示)。
使用 eval $(docker-machine env dev)
导出正确的环境变量,然后重试。您也可以只 运行 docker-machine env dev
查看它将导出的环境变量。请注意,其中一个是 DOCKER_HOST
,正如错误消息提示您可能需要设置
对我来说简单的解决方案:sudo docker-compose up
2016-3-14 更新:在 docker 安装过程(或 docker-compose ?)的某个时刻,有一个建议和示例将您的用户名添加到 "docker" 组。这使您可以避免在所有 docker 命令之前需要 "sudo",如下所示:
~ > docker run -it ubuntu /bin/bash
root@665d1ea76b8d:/# date
Mon Mar 14 23:43:36 UTC 2016
root@665d1ea76b8d:/# exit
exit
~ >
仔细查看安装命令的输出(docker 和 docker-compose 的第二次安装),您会发现必要的步骤。它也记录在这里:https://subosito.com/posts/docker-tips/
Sudo? No!
Tired of typing sudo docker everytime you issue a command? Yeah, there is a way for dealing with that. Although naturally docker is require a root user, we can give a root-equivalent group for docker operations.
You can create a group called docker, then add desired user to that group. After restarting docker service, the user will no need to type sudo each time do docker operations. How it looks like on a shell commands? as a root, here you go:
> sudo groupadd docker
> sudo gpasswd -a username docker
> sudo service docker restart
Done!
更新 2017-3-9
Docker安装instructions have been updated here.
Post-Linux
的安装步骤本节包含配置 Linux 主机以更好地与 Docker 配合使用的可选过程。
以非 root 用户身份管理 Docker
docker 守护程序绑定到 Unix 套接字而不是 TCP 端口。默认情况下,Unix 套接字由用户 root 拥有,其他用户只能使用 sudo 访问它。 docker 守护程序始终以 root 用户身份运行。
如果你不想在使用 docker 命令时使用 sudo,创建一个名为 docker 的 Unix 组并向其中添加用户。当 docker 守护进程启动时,它使 docker 组拥有 Unix 套接字 read/writable。
要创建 docker 组并添加您的用户:
# 1. Create the docker group.
$ sudo groupadd docker
# 2. Add your user to the docker group.
$ sudo usermod -aG docker $USER
# 3. Log out and log back in so that your group membership is re-evaluated.
# 4. Verify that you can run docker commands without sudo.
$ docker run hello-world
此命令下载测试图像并在容器中运行它。当容器运行时,它会打印一条信息性消息并退出。
有人检查过日志吗?
在我的案例中,/var/log/upstart/docker.log
中的错误消息是:
Listening for HTTP on unix (/var/run/docker.sock)
[graphdriver] using prior storage driver "aufs"
Running modprobe bridge nf_nat failed with message: , error: exit status 1
Error starting daemon: Error initializing network controller: Error creating default "bridge" network: can't find an address range for interface "docker0"
值得一提的是我打开了 vpn,所以:
$ sudo service openvpn stop
$ sudo service docker restart
$ docker-compose up|start
$ sudo service openvpn start
是解决方案。
如果您在 Linux 上,您可能没有安装 docker-machine
,因为它仅默认安装在 Windows 和 Mac 计算机上。
如果是这样,您将需要:https://docs.docker.com/machine/install-machine/ 找到有关如何在您的 Linux 版本上安装它的说明。
安装后,重试 运行 docker-compose up
,然后再尝试上面列出的任何操作。
希望这对某人有所帮助。这适用于我在 Fedora 25 中安装的 devilbox。
默认情况下,docker 守护程序始终以 root 用户身份运行,因此您需要在 Docker 命令前添加 sudo
。
如果你不想在使用 docker 命令时使用 sudo,创建一个名为 docker 的 Unix 组并向其中添加用户。当 docker 守护进程启动时,它使 docker 组拥有 Unix 套接字 read/writable。
要创建 docker 组并添加您的用户:
创建 docker 组。
$ sudo groupadd docker
将您的用户添加到 docker 组。
$ sudo usermod -aG docker $USER
注销并重新登录,这样您的组成员资格就是 re-evaluated。
验证您可以 docker 命令而不使用 sudo。
$ docker run hello-world
此命令下载测试图像并在容器中运行它。当容器运行时,它会打印一条信息性消息并退出。
我也有过同样的症状。
唯一不同的是它仅在 docker-compose build
期间发生
docker ps
成功了。
发生在版本 2.x
以及 3.x
上。
重新启动 docker
服务,然后机器...
连重装了 docker
+ docker-compose
.
什么都试过了,但没有任何帮助。
最后我尝试使用 docker build
.
显然我在 Docker
上下文中的 file/folder 上遇到了权限问题。它在开始构建时尝试读取上下文,但失败并显示正确的错误消息。
但是,此错误消息 没有 传播到 docker-compose
,后者仅显示 Couldn't connect to Docker daemon at http+unix://var/run/docker.sock - is it running?
发现解决方案只是将 file/folder 添加到 .dockerignore
文件,因为构建不需要它。另一个解决方案可能是 chown
或 chmod
它。
无论如何,这可能会帮助遇到与 docker
和所显示的误导性错误消息无关的相同问题。
@srfrnk 的回答对我有用。
在我的情况下,我有下一个 docker-compose.yml 文件:
nginx:
build:
context: ./
dockerfile: "./docker/nginx.staging/Dockerfile"
depends_on:
- scripts
environment:
NGINX_SERVER_NAME: "some.host"
NGINX_STATIC_CONTENT_OPEN_FILE_CACHE: "off"
NGINX_ERROR_LOG_LEVEL: debug
NGINX_BACKEND_HOST: scripts
NGINX_SERVER_ROOT: /var/www/html
volumes:
- ./docker-runtime/drupal/files:/var/www/html/sites/default/files:rw
ports:
- 80:80
./docker-runtime
所有者和组 - 是 root
当其他文件所有者 - 我的用户。
当我尝试构建 nginx
Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
我将 ./docker-runtime
添加到 .dockerignore
,它解决了我的问题。
sudo systemctl start docker
- 启动 Docker 服务。
sudo docker-compose up
之后
我有 Fedora 26,并试图解决我最终进入 Docker Compose on Fedora Developers' page and then Docker on Fedora Developers' page 的相同问题,这对我有帮助。
可能,社区认为 docker 服务从系统开始,运行 一直在后台运行,但对我来说并不是那么明显,这就是我能想到的原因为什么没有像这样的热门答案。
在 Fedora Developers' page 上有如何启用 Docker 以随系统启动的说明:
sudo systemctl enable docker
如果您开始 docker 使用 sudo
,那么您应该 运行 docker-用 sudo
来弥补
喜欢:sudo docker-compose up
如果您使用的是 docker-machine,那么您必须使用 env 变量激活环境。 如果你没有使用 docker-machine 然后 运行 你的命令 sudo
我是开始升级Docker,中途取消了。我没有注意到 Docker 不是 运行(如果是的话,我的 Macbook 顶部导航栏上有一个图标,表示电池剩余电量、时间等)。我启动它并完成升级后,docker-compose up
又开始工作了!
$sudo docker-组合
我确实按照上述答案中的步骤ps 将$USER 添加到组docker。我不想添加新组 docker,因为在我的 docker 安装中自动创建了一个名为 docker 的组。
但使用 docker-compose up 也不起作用。它给出了与之前相同的错误。 所以在我的情况下(Ubuntu 18.10) sudo docker-compose up 解决了这个问题。
ps: @Tiw 谢谢指教
试试这个:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
while 运行 docker-compose pull
- 我低于错误
ERROR: Couldn't connect to Docker daemon at http+docker://localhost
是运行吗?
解决方案 -
sudo service docker start
问题已解决
我的设置有两种情况导致此错误:
__pycache__
根用户在我 运行 容器内集成测试后创建的文件无法访问 docker(告诉您原始问题)和 docker-compose(告诉您关于docker 含糊其词);microk8s
阻止了我的端口,直到我停止它。
尝试运行宁dockerd
或sudo dockerd
如果需要首先启动守护进程。如果您以 sudo
开头 dockerd
,您可能还想 运行 docker-compose up
加上 sudo
。否则没关系。
除了将用户添加到 docker 组之外,为了避免重复输入 sudo
,您还可以为 docker
命令创建一个别名,如下所示:
alias docker-compose="sudo docker-compose"
alias docker="sudo docker"
当您遇到错误时:
ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?
解决方案将是:
首先,尝试验证 Docker 服务已启动并且 运行 如预期在您的 remote/local 机器上:
sudo service docker status
if Not - 运行
sudo service docker start
或sudo systemctl start docker
(取决于某些 linux 版本,参见 Docker get started instructions)。其次,启动dockeras sudo
sudo docker-compose up
我已经按照以下步骤解决了问题
$ sudo service docker status
$ sudo service docker start
$ sudo docker-compose up
现在 docker-正在撰写中
我知道这很愚蠢,但就我而言,我只是尝试使用 sudo
并且效果很好。
对于你的情况,只需尝试:$ sudo docker-compose up
注销然后重新登录对我很有帮助。在我的例子中是全新安装,我创建了一个新用户,新组然后将用户添加到 docker 组。
退出 退出
然后再次ssh进入服务器
以下对我有用,我不确定是哪一部分起作用了:
julian:project$ sudo service docker status
julian:varys$ sudo service docker status
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-07-15 01:21:16 UTC; 24min ago
Docs: https://docs.docker.com
Main PID: 6762 (dockerd)
Tasks: 25
CGroup: /system.slice/docker.service
└─6762 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
julian:project$ export DOCKER_HOST=unix:///run/containerd/containerd.sock
julian:project$ sudo groupadd docker
groupadd: group 'docker' already exists
julian:project$ sudo gpasswd -a $USER docker
Adding user ubuntu to group docker
julian:project$ newgrp docker
julian:project$ ls -ln /var/run/ | grep docker
drwx------ 5 0 0 120 Jul 15 01:10 docker
-rw-r--r-- 1 0 0 4 Jul 15 01:10 docker.pid
srw-rw---- 1 0 999 0 Jul 15 01:10 docker.sock
julian:project$ sudo rm /var/run/docker.sock
julian:project$ sudo rm /var/run/docker.pid
julian:project$ sudo service docker restart
我在 Ubuntu 20.0.4 中通过
解决了这个问题sudo chmod 666 /var/run/docker.sock
然后
sudo service docker start && docker-compose up -d
工作中!!
我尝试使用以下命令及其工作
service docker restart
docker-compose -f docker_compose.yaml down
docker-compose -f docker_compose.yaml up
1 . sudo service docker stop
2 . sudo service docker status
3 . sudo service docker start
4 . docker-compose build <app_name\service_name>
如果您正在使用 linux
尝试sudo docker-compose up
尝试使用以下方式重新启动您的 docker 环境:
systemctl restart docker
解决此问题的快速方法
Just add sudo before your docker command, like
sudo docker-compose up
运行 以此为根。 sudo docker-compose up --build
可能存在权限问题,按照我的命令解决。
sudo chown $USER /var/run/docker.sock
感谢 Max 的解决方案:https://whosebug.com/posts/60282354/revisions
对我有用的解决方案是将图像标签更改为小写字母。
更改 docker-compose.yml 文件中的图像标签,以包含小写字母的存储库 IP 和图像名称。
例如:图像:192.168.1.5/图像名称:v1