I'm using docker on the windows subsystem for linux, and running into issues pushing containers to azure. It seems there is more than one way to run docker in on WSL and neither works quite the way I need it to.
In both cases, I have Docker Desktop installed in Windows and set up properly for WSL usage.
Option 1: use the docker-ce package. With this option I can run docker compose
locally and run my containers. However, docker login azure
fails to launch a browser instance and wants to connect to local url "//azure/v2/".
Option 2: remove docker-ce and use the symlinks dropped by Docker Desktop. Here I can successfully authenticate to azure, and push a simple container, but docker compose up
returns this message:
ERROR: The platform targeted with the current context is not supported.
Make sure the context in use targets a Docker Engine.
Also, this option prevents me from running the containers locally- there is no dockerd running and service docker start
says dockerd doesn't exist.
Now that I'm authenticated with Azure, if I reinstall docker-ce
and run docker compose up
in an ACI context, I see a new error:
cannot use ACI volume, required driver is "azure_file", found ""
What is the recommended setup for Docker on WSL that will enable me to push containers to ACI and also launch them locally? What steps should I take to get the system into a clean state?