MaruOpsInfrastructure and AI notes

About (Korean)Contact (Korean)

[Local LLM 11] Understand Docker Desktop, Containers, Volumes and Ports

Server cabinet of the TSUBAME 4.0 system

Reference photo · Server cabinet of the TSUBAME 4.0 system · Photo: Fukumoto / Source / CC BY-SA 4.0 · Resized for listings; illustrative photo, not the tested environment

Building a Local LLM · 11/30 · Development Environment

Full series and learning sequence · Practice code ZIP

Docker can run the software behind a web chat application such as Open WebUI in containers. Before creating or deleting those containers, identify which data belongs to a persistent volume and which ports are published. That distinction determines where conversations and model files remain.

Check out the WSL2 environment in Part 10 and look at the support conditions for Docker Desktop. Once installed, check if the engine operates with a simple container.

Install Docker Desktop

Check the supported OS and WSL conditions in the official Windows installation documentation and install with WSL2 backend. If your company uses Docker Desktop, we also review the Terms of Use. With the app running, open a new PowerShell.

docker version
docker compose version
docker run --rm hello-world

If only Client appears in version and the server connection fails, first check whether the engine is ready. If you are blocked from downloading hello-world, check your network, proxy, and registry connections. If you check engine connection and image download separately, you can narrow down errors in the next step.

Image·Container·Volume

targetroleIf you delete it
imageFramework of program and execution environmentYou can download it again next time you run it.
containerRunning instance created from imageInternal write layer may disappear altogether
volumePersistent data outside the containerYou may lose your original conversations, accounts, and models.

docker compose down usually cleans up containers and networks, leaving behind named volumes. Be careful because down -v erases the volume as well. Before copying the initialization example, make sure you have any conversations or account information stored on that volume.

Host address and port mapping

The port of the following web screen is specified as 127.0.0.1:3000:8080. On the left is the address and port of the Windows host, and on the right is the container port. If you leave out the host address, you can connect from other interfaces, so in local practice, even write down the address.

docker ps --format "table {{.Names}}\t{{.Ports}}"
docker volume ls
docker system df

When you call localhost from within a container, the container finds itself. Connect to other services in the same Compose project using the service name. This is why the Ollama address is written as ollama instead of localhost in the following article.

GPU delivery and image versioning

First, connect the two services by CPU configuration. GPU delivery is added after checking the NVIDIA GPU and WSL2 conditions supported by Docker Desktop. It’s not unusual for GPU usage to not increase while running a regular CPU container.

The main·latest tag can be changed to point to the new image. If you record the digest of successful images, you will have a standard to go back to. New versions are checked separately, backup and restoration paths for existing data are prepared, and then replaced.

reference material

Documentation and model tags checked: October 18, 2026. Primary lab environment: Windows 11 x64.