为什么docker服务在Ubuntu的Windows子系统上启动后立即关闭?

为什么docker服务在Ubuntu的Windows子系统上启动后立即关闭?,docker,ubuntu-18.04,windows-subsystem-for-linux,Docker,Ubuntu 18.04,Windows Subsystem For Linux,我正在Windows10Pro上运行Ubuntu18.04。我已经在Ubuntu上安装了docker。我可以在Ubuntu上看到docker的版本,但我无法在系统上运行docker的hello world测试容器。每当我键入命令“sudo service docker start”时,它会显示“*正在启动docker:docker”,但当我检查服务状态时,它会显示“*docker未运行”或有时显示“*docker正在运行”,但在几秒钟后的下一次状态检查中,它会显示“*docker未运行” 每当尝

我正在Windows10Pro上运行Ubuntu18.04。我已经在Ubuntu上安装了docker。我可以在Ubuntu上看到docker的版本,但我无法在系统上运行docker的hello world测试容器。每当我键入命令“sudo service docker start”时,它会显示“*正在启动docker:docker”,但当我检查服务状态时,它会显示“*docker未运行”或有时显示“*docker正在运行”,但在几秒钟后的下一次状态检查中,它会显示“*docker未运行”

每当尝试运行测试容器时(使用命令 docker运行hello world)由docker提供

“无法连接到位于的Docker守护程序unix:///var/run/docker.sock. docker守护进程正在运行吗?”

有关更多信息,请查看随附的屏幕截图
要在Ubuntu的Windows子系统上运行docker,也必须在Windows机器上安装docker。因为在Linux(WSL)上运行的Docker客户端正在向Windows上安装的Docker引擎守护进程发送命令。要告诉Ubuntu的Docker Docker主机在哪里运行,使用以下命令-H代表主人

docker -H localhost:2375 images  
还需要更新“Windows Docker设置”面板中的设置。有关更多信息,请参阅以下屏幕截图

为了避免每次都键入上述命令,我们可以在.bashrc文件中添加以下条目

 export DOCKER\_HOST=localhost:2375
这个答案是以下博客的简写-
要在Ubuntu的Windows子系统上运行docker,也必须在Windows机器上安装docker。因为在Linux(WSL)上运行的Docker客户端正在向Windows上安装的Docker引擎守护进程发送命令。要告诉Ubuntu的Docker Docker主机在哪里运行,使用以下命令-H代表主人

docker -H localhost:2375 images  
还需要更新“Windows Docker设置”面板中的设置。有关更多信息,请参阅以下屏幕截图

为了避免每次都键入上述命令,我们可以在.bashrc文件中添加以下条目

 export DOCKER\_HOST=localhost:2375
这个答案是以下博客的简写-

原因:缺少cgroup、/var/run、unix套接字等。对于解决方案,以管理员身份运行wsl.exe,然后启动dockerd。虽然它不会与主机unix://和主机tcp://一起运行。原因:缺少cgroups、/var/run、unix套接字等。对于解决方案,以管理员身份运行wsl.exe,然后启动dockerd。虽然它不会与主机unix://和主机tcp://一起运行。您的问题和答案不匹配。问题是,您正在运行docker daemon
/usr/bin/docker
,但作为回答,您正在Windows中运行docker daemon。@问题中的Biswapriyo我试图用操作系统版本和屏幕截图解释一切。我还在Windows Linux子系统中标记了此问题。您的问题和答案不匹配。问题是,您正在运行docker daemon
/usr/bin/docker
,但作为回答,您正在Windows中运行docker daemon。@问题中的Biswapriyo我试图用操作系统版本和屏幕截图解释一切。我还在Linux的Windows子系统中标记了这个问题。