Frequently Asked Questions for Docker
Q1. How do I confirm that Docker is running?
Open a Command Line (CMD) and type:
docker version
You can also type this in the Command Line:
docker run hello-world
Q2. What does it mean that Docker daemon is not running?
The message “Docker: error during connect: Post… This error may also indicate that docker daemon is not running” means that Docker is not running in your system. You will first have to start Docker. Please go to Step 1 on How to Install Docker.
After you successfully install and Docker is running, you will get the following message:
Q3. I have a Virtual Box installed on my system. Since I installed Docker, I cannot execute any of my virtual machines anymore. Why?
Be aware that enabling Docker in your system will prevent you from using Virtual Box. When Hyper-V technology is enabled, it interferes with Virtual Box. More information about this in docs.docker.com/docker-for-windows/install
Q4. Is my Virtual Box lost?
No. Your Virtual Box is not lost. You just cannot execute a virtual machine once you have Docker on.
Q5. How do I check how disk usage by Docker?
Go to the Command Line (CMD) and type:
docker system df
Q6. How can I check if the SDK container is running correctly?
Go to the Command Line (CMD) and type:
docker ps
Q7. What should I do with a “License file not found” error?
Make sure you have replaced the TOKEN with your API Token in the run command. Refer to Manual Installation Steps.
Q8. What is a “connection refused” error when I am trying to upload images with curl?
You are probably receiving this message because the container is not running.
To verify that type docker ps
in the Command Line (CMD) in the terminal to see the status of containers.
It should look like this (1 container running in port 8080):
If the status does not show any containers at all, then the SDK container is not running in your system. You need to first run it. Refer to Manual Installation Steps.
Q9. What does “you have a container running with this license” mean?
This means that you currently have a container running with this license, perhaps on another machine. If you need to install the SDK on another machine, please uninstall this one first. Refer to Uninstall Steps to uninstall the SDK. Or, go app.platerecognizer.com/service/snapshot-cloud to add another license for this machine.
Q10. How do I change the port of the container?
If you are already using port 8080, then you can change the port of the container including the -p
option like in the command below:
docker run -t -v license:/license -e TOKEN=YOUR_API_TOKEN -p 8085:8080 platerecognizer/alpr
The -p 8085:8080
part will bind the port 8085 of your host machine with the port 8080 inside the container.
Q11. How do I resolve this error message: ERROR:root:Local system time may be out of sync.
Make sure that the time and date of your Docker host is set correctly. On Windows, Check this tip for some solutions to fix the issue.
Q12. Why does Docker on Windows on a Dual CPU setup only utilize half the logical cores?
It appears that there is an issue with Docker on windows not being able to take advantage of both NUMA nodes properly. Recommendation: switching the OS to a Linux distro should resolve the issue.
Q13. What are some good Docker monitoring tools?
To monitor Docker, you can use Prometheus, an open source software. You can see a comparison of different monitoring tools for Docker. Docker also provides these built in commands:
docker ps
- List running containersdocker stats
- Display a live stream of container(s) resource usage statisticsdocker inspect
- Return low-level information on Docker objects
Q14. How can I upgrade my containers automatically when a new release is available?
You can set Watchtower as a supervisor; this tool automatically monitors and updates specific Docker containers when a new image version is available.
It consists of a container that interacts with Docker API to pull the newest image from the repository then applies the upgrade.
This action implies restarting the container.
🐳 Docker Command
docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --interval 28800 stream
Command Structure
Option | Description |
---|---|
-d | Run container in detached mode. |
--name watchtower | Name the container "watchtower". |
-v /var/run/docker.sock:/var/run/docker.sock | Mount the Docker socket so Watchtower can interact with the Docker daemon (For Windows, use double slash (// ) at the beginning of the path.) |
containrrr/watchtower | The official Watchtower image. |
--interval <int> (optional) | Check for image updates every 28800 seconds (8 Hours). Adjust as needed for production (e.g., 300 for every 5 minutes). |
stream (optional, recommended) | Specify the containers you want Watchtower to monitor, separated by space (e.g., stream snapshot monitors running stream and snapshot container image.). To monitor all containers, omit the container name. |
If you need to be more specific about the day/time to check for the images, you can use the parameter --schedule
, which uses a Cron expression
in 6 fields. It defines when and how often to check for new images (e.g., 0 0 0 * * *
Run once a day, midnight). Simulate a specific schedule at Cron simulator
--schedule
or --interval
can be used, but not both at the same time.
More details in Watchtower arguments guide.
Activity Verification
To check that Watchtower is running correctly:
docker logs -f watchtower
You should see logs showing periodic checks and any update actions taken. e.g.:
Terminal logs output:
2025-04-11 19:12:45 time="2025-04-11T22:12:45Z" level=info msg="Watchtower 1.7.1"
2025-04-11 19:12:45 time="2025-04-11T22:12:45Z" level=info msg="Using no notifications"
2025-04-11 19:12:45 time="2025-04-11T22:12:45Z" level=info msg="Only checking containers which name matches \"stream\" or \"snapshot\""
2025-04-11 19:12:45 time="2025-04-11T22:12:45Z" level=info msg="Scheduling first run: 2025-04-11 22:12:55 +0000 UTC"
2025-04-11 19:12:45 time="2025-04-11T22:12:45Z" level=info msg="Note that the first check will be performed in 9 seconds"
2025-04-11 19:12:56 time="2025-04-11T22:12:56Z" level=info msg="Session done" Failed=0 Scanned=1 Updated=0 notify=no
2025-04-11 19:13:06 time="2025-04-11T22:13:06Z" level=info msg="Session done" Failed=0 Scanned=1 Updated=0 notify=no
2025-04-11 19:13:16 time="2025-04-11T22:13:16Z" level=info msg="Session done" Failed=0 Scanned=1 Updated=0 notify=no
2025-04-11 19:13:42 time="2025-04-11T22:13:42Z" level=info msg="Found new platerecognizer/alpr:latest image (dbeb8a49c0aa)"
2025-04-11 19:13:42 time="2025-04-11T22:13:42Z" level=info msg="Stopping /snapshot (8c6e223d8c78) with SIGTERM"
2025-04-11 19:13:44 time="2025-04-11T22:13:44Z" level=info msg="Creating /snapshot"
2025-04-11 19:13:45 time="2025-04-11T22:13:45Z" level=info msg="Session done" Failed=0 Scanned=2 Updated=1 notify=no
...