Microsoft blog宣布,WSL2现在支持docker。我正在尝试在Windows10的Linux子系统上安装docker。遵循此official documentation中提到的所有步骤后,我得到以下错误。
$docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
$ docker version
Client: Docker Engine - Community
Version: 19.03.1
API version: 1.40
Go version: go1.12.5
Git commit: 74b1e89
Built: Thu Jul 25 21:21:05 2019
OS/Arch: linux/amd64
Experimental: false
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
我在这里错过了什么吗?
答案 0 :(得分:1)
您不能在WSL内运行docker守护程序,这意味着您不能在WSL内托管容器。但是您可以使用WSL内部运行的Docker客户端连接到Windows上运行的守护程序。
首先,您需要获取Windows https://docs.docker.com/docker-for-windows/install/的docker桌面
完成此操作后,请确保打开用于在不使用TLS的tcp:// localhost:2375上公开守护程序的设置。
然后在WSL中安装Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce
并设置env变量,以便所有docker命令进入Windows中公开的守护程序
export DOCKER_HOST=tcp://localhost:2375
您现在可以在WSL中享受docker命令了:-)
答案 1 :(得分:1)
Docker is now supported on WSL2
在WSL2上成功运行docker的前提条件
Win-Key + R, run command "winver"
wsl --set-default-version 2
,以始终在您的计算机上使用WSL2 现在,您可以在计算机上安装Linux发行版了。 Install Ubuntu on Windows 10 WSL使用这些说明
您需要使用sudo /etc/init.d/docker start
显式启动Docker
要在安装后确认一切正常;在Powershell上运行以下命令。如果显示以下输出,则表示Ubuntu-18.04在WSL 2上运行
PS> wsl -l -v
NAME STATE VERSION
* Ubuntu-18.04 Running 2
答案 2 :(得分:1)
要使wsl2与docker一起使用,您仍然需要做一些调整和步骤
如果您想了解有关如何使其工作的更多信息,请查看https://codingfullstack.com/cloud/docker-installation-wsl2/。