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



我正试图通过Windows 10 Home上的WSL(ubuntu(设置docker,但在尝试使用docker-compose up命令时遇到问题:

$ 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机器似乎运行良好,因为docker ps命令显示了一个容器列表。

根据我的研究,如果我使用DockerforWindows(它不在WindowsHome上运行(;我需要打开"Expose daemon ontcp://localhost:2375没有TLS"选项。由于我使用的是"Docker Toolbox+VirtualBox",我想问一下等效的是什么?

如果你需要进一步的信息,请告诉我。

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

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

  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>.dockermachinemachinesdefault"
export DOCKER_MACHINE_NAME="default"
export COMPOSE_CONVERT_WINDOWS_PATHS="true"
# Run this command to configure your shell:
# eval $("C:ProgramDatachocolateylibdocker-machinebindocker-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来测试您的安装请记住保持虚拟机运行。

以下两篇文章确实帮助了我的安装:

  • https://www.sitepoint.com/docker-windows-10-home/
  • https://www.paraesthesia.com/archive/2018/09/20/docker-on-wsl-with-virtualbox-and-docker-machine/

最新更新