在Windows 10 Home中的WSL上设置docker的问题

时间:2018-11-21 09:32:18

标签: docker ubuntu windows-subsystem-for-linux

我正在尝试通过 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”,所以我想问什么等效项?

如果您需要更多信息,请告诉我。

1 个答案:

答案 0 :(得分:1)

这有点棘手,因为您需要使用两个终端:一个在Windows中,一个在WSL中。

对我有用的东西:我在Windows上安装了docker-machine和virtualbox。然后,我在virtualbox上创建了一个名为default的虚拟机。然后在Windows上,使用Windows的终端机Git bash,我运行了以下命令:

  1. docker-machine start default:它启动虚拟机。或者,您可以直接在virtualbox上启动它
  2. 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测试安装 记住要保持虚拟机运行。

以下两篇文章确实对我的安装有所帮助: