我正在尝试通过 Windows 10 Home 上的 WSL (ubuntu)设置docker,但是在尝试使用docker-compose up
命令时遇到问题:< / p>
$ docker-compose up
ERROR: Couldn't connect to Docker daemon at http://localhost:2375 - is it running?
我的~/.bashrc
文件中具有以下配置
#Insert new Path for Docker and Alias
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
PATH="$PATH:/mnt/c/Program Files/Docker Toolbox"
alias docker=docker.exe
alias docker-machine=docker-machine.exe
// Other code
export DOCKER_HOST='tcp://localhost:2375'
由于docker ps
命令显示了一个容器列表,docker-machine似乎运行良好。
根据我的研究,如果我要使用 Docker for Windows (不在Windows Home上运行);我需要在设置中打开“在不带TLS的tcp:// localhost:2375上公开守护程序”选项。由于我使用的是“ Docker Toolbox + VirtualBox”,所以我想问什么等效项?
如果您需要更多信息,请告诉我。
答案 0 :(得分:1)
这有点棘手,因为您需要使用两个终端:一个在Windows中,一个在WSL中。
对我有用的东西:我在Windows上安装了docker-machine和virtualbox。然后,我在virtualbox上创建了一个名为default的虚拟机。然后在Windows上,使用Windows的终端机Git bash,我运行了以下命令:
docker-machine start default
:它启动虚拟机。或者,您可以直接在virtualbox上启动它docker-machine env default
:显示启动linux shell所需的命令。 输出看起来像这样
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.101:2376"
export DOCKER_CERT_PATH="C:\Users\<yourusername>\.docker\machine\machines\default"
export DOCKER_MACHINE_NAME="default"
export COMPOSE_CONVERT_WINDOWS_PATHS="true"
# Run this command to configure your shell:
# eval $("C:\ProgramData\chocolatey\lib\docker-machine\bin\docker-machine.exe" env default)
然后您切换到WSL。您可以通过在研究栏中输入ubuntu来访问终端
在/.bashrc中,粘贴输出(替换为自己的输出)
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.101:2376"
export DOCKER_CERT_PATH="/mnt/c/Users/<yourusername>/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
export COMPOSE_CONVERT_WINDOWS_PATHS="true"
请注意,我更改了DOCKER_CERT_PATH,以便它可以在Linux环境下工作
最后,在WSL中,运行source /.bashrc
然后您可以通过运行docker run hello-world
测试安装
记住要保持虚拟机运行。
以下两篇文章确实对我的安装有所帮助: