π³ Docker (Local)ΒΆ
The solver runs inside a Docker container on the same machine as Blender, managed by the local Docker daemon. For a remote container reached over SSH, see Docker over SSH.
Where each piece lives, and how the add-on reaches it, in local Docker
mode. Blue solid arrows carry lifecycle commands (container
start/stop, exec). Purple dashed arrows carry the TCP connection to
server.py. The container must publish the server port β that is
what lets the socket reach server.py. For the remote variant where
the daemon and container live on a different host, see
Docker over SSH.ΒΆ
When to Use ItΒΆ
The solver depends on CUDA/driver versions you do not want to install on the host.
You want each project isolated on the workstation.
SetupΒΆ
Set Server Type to
Docker.Fill Container with the Docker container name (default
ppf-dev). The container must already exist on the daemon; the add-on will start it if it is stopped, but it will not create one.Fill Container Path with the working directory inside the container (default
/root/ppf-contact-solver). This is the directory containingserver.py, not a path on the Blender host.Set Docker Port to the TCP port
server.pylistens on inside the container (default9090).Click Connect. If the container exists but is stopped, the add-on starts it for you. A missing container is reported as an error.
Backend Communicator with Server Type set to Docker.
Container, Container Path, and Docker Port replace the SSH
fields. The Install Docker-Py banner appears when the vendored
module is missing. Connect is highlighted.ΒΆ
FieldsΒΆ
Field |
Description |
|---|---|
Container |
Docker container name (e.g. |
Container Path |
Working directory inside the container that holds |
Docker Port |
TCP port inside the container where |
Installing docker-pyΒΆ
The Docker backend requires the docker Python package (sometimes
called docker-py). When it is missing the main panel shows an
Install Docker button that installs the package into the add-onβs
private library on a background thread.
TroubleshootingΒΆ
Container 'X' does not exist.- the name is wrong or the container was removed. Rundocker ps -ato see what is actually there.Error starting container 'X'- the daemon returned a non-zero exit or the user lacksdockergroup membership.Server startup timed out. - the container started but
server.pydid not become ready within 16 seconds. Checkserver.loginside the directory set in Container Path; the panel prints the last 20 lines automatically.docker-pynot found - click Install Docker on the main panel and wait for the background installer to finish.
Under the hood
Transport
The local backend talks to the Docker daemon through the standard
docker Python client and looks up the container by name. A stopped
container is started automatically; a missing container aborts connect
with Container 'X' does not exist.
Server startup path
Local Docker uses the same Unix server-launch path as the SSH and
Local backends (see Connections - Under the hood):
a small script inside the container launches server.py on the
configured port and the UI waits up to 16 s for readiness. The local
mode does not perform the explicit docker port published-port check
that Docker over SSH does.