You are currently viewing Using Docker – Life After Docker Desktop

Using Docker – Life After Docker Desktop

  • Post author:
  • Post category:Salesforce

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, 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:\docker\config\
  • Create a new file c:\docker\config\windows-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 Files\docker\cli-plugins.

  • It won’t work if you try to put it in c:\docker\cli-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”.

docker info command output

Compose is listed as a plugin with the correct path

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:\docker\config\windows-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.

  • Rancher Desktop by SUSE
    • 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
Rancher desktop ui

The containers tab of the Rancher Desktop ui

  • Podman-Desktop
    • 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
Podman desktop ui

The containers tab of the Podman Desktop ui

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
  • 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)
  • 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

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!