Many people are starting to moving away from Docker Desktop. It is important to remember that Docker Desktop is not Docker! Docker is a standalone tool that allows you to run containers. Docker Desktop is a separate tool that gives you some information about your images and containers in a nice GUI. In this article, I’ll give you a few tips for using Docker without Docker Desktop and show you how to use other tools to get the same information you can get from Docker Desktop.
Installing Docker on Windows without Docker Desktop
If you haven’t done the manual install of Docker yet, check out Vikrant Punwatkar’s blog post. For the rest of this article, I’ll use the docker install path c:docker as suggested.
After Uninstalling Docker Desktop
Restart your machine! This will help clear up potential issues when installing Docker manually.
Configuring Docker Daemon
You can use a json file to change the behavior of the docker engine
Create a new folder c:dockerconfig
Create a new file c:dockerconfigwindows-daemon.json
Set the data-root
This is where docker will store the images and container data
Make sure the final part of the path does NOT exist. Docker will create it the last folder in the path.
{“data-root”: “c:\docker\Data”}
Docker Plugins
I wanted to keep everything nicely contained in the c:docker folder. But I discovered the compose plugin must be placed in C:Program Filesdockercli-plugins.
It won’t work if you try to put it in c:dockercli-plugins
There isn’t a config option to change the path to client plugins
You can verify the compose plugin is installed at the correct location by running “docker info”.
Register the Docker Service
You can add optional flags to the dockerd command to register the service. This command mimics how docker desktop registers the docker service.
dockerd –register-service –service-name docker –group docker-users –config-file C:dockerconfigwindows-daemon.json
Upgrading Docker Engine
You will want to periodically check the docker download page for new version of docker. Follow these steps to upgrade to the new version.
PS>Stop-Service docker
Download the updated zip file
Copy the updated exe files to c:docker
PS>Start-Service docker
Verify the new version is installed by running “docker info”
Docker Desktop Alternative Tools
Like Vikrant mentioned in his post, you can use Visual Studio and VSCode to manage your containers. If you want a GUI experience that is close to Docker Desktop, check out one of these tools below. Keep in mind that these tools do not include the docker exe file. You still have to install docker manually.
The containers feature is still listed as experimental.
It lists all the containers with the ability to stop, start and delete
It lists all the images with the ability to delete
It does not have the ability to view container details
This tool more closely resembles the Docker Desktop UI
It lists all the containers with the ability to stop, start, delete
For each container you can inspect, view logs, and access a terminal (which is a little buggy)
It lists all the images with the ability to delete
Using Docker Without a GUI Tool
You can of course use docker without any GUI tools through the command line. Here are some common things you can do with a docker gui and the equivalent command with the cli.
List containers
docker ps
Lists running containers
docker ps -a
Lists all containers
View logs
docker logs -n 100 <container name>
Shows the last 100 lines from the log for <container name>
docker logs -f -n 100 <container name>
Shows the last 100 lines from the log for <container name> and updates the display as new logs are received.
List container usage stats (memory/cpu)
docker stats
Show container details (environment variables/ports)
docker inspect <container name>
Interact with container
docker exec -it <container name> <command>
Command is usually powershell.exe or cmd.exe
Creates a terminal into the running container
Stop a container
docker stop <container name>
List images
docker image ls
Conclusion
If you are no longer using Docker Desktop, there are still plenty of ways to use Docker. I hope this article helps you find the way that works best for you!
Leave A Comment