我在尝试执行时遇到了以下问题docker-compose up
:
[10:46:31] coil@coil:~/workspace/docker$ docker-compose up -d
ERROR: Couldn't connect to Docker daemon - you might need to run `docker-machine start default`.
[10:48:00] coil@coil:~/workspace/docker$ docker-machine start default
Docker machine "default" does not exist. Use "docker-machine ls" to list machines. Use "docker-machine create" to add a new one.
[10:57:07] coil@coilZ240:~/workspace/docker$ sudo docker-machine create default
Running pre-create checks...
Error with pre-create check: "VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path"
[11:00:17] coil@coilZ240:~/workspace/docker$ VBoxManage -v
5.2.18_Ubuntur123745
这很奇怪,因为 VBoxManage 已经在路径中并且可以启动。
当前版本为:
- Ubuntu:18.04.01
- Docker:18.06.1-ce,内部版本 e68fc7a
- docker-machine:0.15.0,构建b48dc28
- VBox管理:5.2.18_Ubuntur123745
答案1
简短回答。不要使用 snap。我使用以下方法重新安装了所有内容官方教程现在可以正常工作了。
答案2
我有同样的问题。但我的操作系统是 Linux Mint 19。
我要做这个解决方案来解决我的问题
将 docker-machine 更新至版本 0.16.0,构建号 702c267f 。
参考
答案3
确保您的用户在 docker 组中。否则,您将以 root 身份运行 docker,以用户身份运行 vbox,它们将无法互相看到。表明您不在该组中的明显迹象是您必须使用 sudo docker 命令,例如:
sudo docker images
要修复,请执行以下操作:
sudo groupadd docker
sudo gpasswd -a <your-username> docker
现在检查用户是否已添加:
getent group docker
或者:
grep /etc/group -e "docker"
同时重新启动docker守护进程:
sudo service docker restart
注销并重新进入终端(如果这不起作用,请尝试重新启动系统),您应该能够在没有 sudo 的情况下运行 docker,例如:
docker images
docker machine 和 docker-compose 现在也应该运行了。
更多信息,请参考这个答案:https://stackoverflow.com/questions/29101043/cant-connect-to-docker-from-docker-compose