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

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

我在Windows 10专业版上运行Ubuntu 18.04。我已经在Ubuntu上安装了docker。我可以在Ubuntu上看到docker的版本,但是无法在系统上运行docker的hello-world测试容器。每当我键入命令“sudo service docker start”时,它会显示“* Starting Docker:docker”,但是当我检查服务状态时,它会显示“* Docker is not running”或有时“* Docker is running”,但是几秒钟后的下一次状态检查显示“* Docker没有运行”

每当尝试运行测试容器时,也会给出以下错误(使用命令
Docker运行hello-world)。

“无法在unix:///var/run/docker.sock上连接到Docker守护程序。Docker守护程序是否正在运行?”

请找到随附的屏幕截图以获取更多信息
enter image description here

最佳答案

要在适用于Ubuntu的Window子系统上运行docker,也必须在Windows计算机上安装docker。因为在Linux(WSL)上运行的Docker客户端将命令发送到Windows上安装的Docker Engine守护程序。为了告诉Ubuntu的Docker在哪里运行Docker主机,使用了以下命令。 -H是主机。

docker -H localhost:2375 images  

还需要在“Windows Docker设置”面板中更新设置。请引用以下屏幕截图以获取更多信息enter image description here

为了避免每次都键入上述命令,我们可以在.bashrc文件中添加以下条目
 export DOCKER\_HOST=localhost:2375

该答案是以下博客的简写-
installing the docker client on windows subsystem for Linux Ubuntu

关于docker - 为什么在Windows子系统上为Ubuntu启动docker服务后立即关闭它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55134222/

相关文章:

docker - 如何在Alpine Linux中添加边缘/测试包?

linux - 这是systemd中的错误吗?

ubuntu - Docker 是在 WSL 中运行还是连接回 Windows?

ubuntu - 在 WSL for Docker 18.03 中将卷挂载到容器

docker - 为什么 Docker for Windows 让你选择 Windows 或 Linux 容器?

docker - Jenkins Kubernetes 插件 : How to build image from Dockerfile and run steps inside the image

docker - 如何在马拉松规范上设置 docker run 参数

python - Ubuntu18.04(Virtualbox) 上滑动背景的问题

linux - 如何使用 Nginx 服务器在 Ubuntu 服务器上部署 dotnet 核心应用程序?

docker - 错误 : "docker context create" requires exactly 1 argument