Hacker News new | ask | show | jobs
by jhomedall 1865 days ago
They do in WSL2, as I understand it.
1 comments

Try it out... install Ubuntu using WSL2. Install docker using apt-get. See that it doesn't work without the Docker Desktop install for Windows and a special integration. Try running podman or other container-based solutions and see that they don't work.
Having followed the instructions from https://docs.docker.com/engine/install/ubuntu/, I was able to get this working fine. This is without Docker Desktop installed. It probably would have also worked with the version from distro repository.

  zed@ZED-PC:~$ sudo service docker start
   * Starting Docker: docker                      [ OK ]
  zed@ZED-PC:~$ sudo docker run hello-world
  Unable to find image 'hello-world:latest' locally
  latest: Pulling from library/hello-world
  b8dfde127a29: Pull complete
  Digest: sha256:f2266cbfc127c960fd30e76b7c792dc23b588c0db76233517e1891a4e357d519
  Status: Downloaded newer image for hello-world:latest
  
  Hello from Docker!
  This message shows that your installation appears to be working correctly.

The full output for 'docker run' was much longer, so I've snipped it down to size
Are you even on Windows? This is with WSL 2, as you can systemd doesn't work as expected in WSL2. This is a known issue. If systemd is working for you, then you are doing something magic:

  sudo systemctl start docker
  [sudo] password for u3332:
  System has not been booted with systemd as init system (PID 
  1). Can't operate.
  Failed to connect to bus: Host is down
https://stackoverflow.com/questions/55579342/why-systemd-is-...
From that link (permalink to answer: https://stackoverflow.com/a/61887923) :

> Nowadays you can try:

> sudo service docker start

> when using WSL2, if you are running on windows version 2004 or higher (I assume).

Which is what I did in the listing above.

  sudo service docker start
  [sudo] password for u3323:
  docker: unrecognized service
Did you install docker from their own PPA linked in the instructions above, and are you on Ubuntu 20.04 with WSL2? Those are the only steps I took.

e:

  ver
on 'cmd' also shows

  Microsoft Windows [Version 10.0.19042.928]
if that helps

e:

Everything except the service start, which I had to find in that StackOverflow thread. We've hit the max comment depth, so I couldn't response to you directly.

If you run the Docker daemon manually, it works just fine. I'm running a container on it right now.

It's not a problem with Docker on WSL 2, but a problem with the way WSL uses its own init system instead of systemd, while some Ubuntu packages are packaged for a systemd system.