我在Mac OS 10.8.5上安装了docker-machine 0.1.0和docker-compose 1.1.0。Docker-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

无法在http+unix://var/run/ Docker连接到Docker守护进程。袜子——它在跑吗? 如果它位于非标准位置,则使用DOCKER_HOST环境变量指定URL。

我的Dockerfile和docker-compose。Yml在这里。

Dockerfile

FROM centos:centos7
DOCKER_HOST tcp://192.168.99.100:2376

docker-compose.yml

web:
  build: .

为什么不能连接?什么好主意吗?


当前回答

如果您使用的是Linux

试试sudo docker-compose up

其他回答

我的解决方案是将图像标记改为小写字母。

更改docker-compose中的图像标记。yml文件中包含存储库IP和映像名称(小写字母)。

例如:image: 192.168.1.5/imagename:v1

如果您使用的是Linux

试试sudo docker-compose up

退出后再次登录对我很有帮助。在我的情况下,它是新的安装,我创建了一个新用户,新组,然后将用户添加到docker组。

退出 退出

然后再次SSH到服务器

如果你正在使用docker-machine,那么你必须使用env变量激活环境。 如果你没有使用docker-machine,那么使用sudo运行你的命令

我在Ubuntu 20.0.4中解决了这个问题

sudo chmod 666 /var/run/docker.sock

然后

sudo service docker start && docker-compose up -d

Ref.