Skip to content

nomad4tech/docker-socket-manager-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

docker-socket-manager-demo

Demo application for docker-socket-manager - a Java library for connecting to Docker daemons over local Unix sockets or remote SSH tunnels.

What it demonstrates

Local socket - connects to /var/run/docker.sock, fetches Docker info, lists containers, creates an alpine container with a custom env variable, reads it back via exec, then stops and removes the container.

SSH tunnel - connects to a remote Docker host via SSH + automatic socat relay, fetches Docker info and lists running containers.

Prerequisites

  • Java 17+
  • Docker running locally
  • alpine image pulled: docker pull alpine
  • For SSH demo: socat installed on the remote host (sudo apt-get install socat)

Setup

Edit src/main/resources/demo.properties:

# Local socket path (default is fine on Linux)
local.socket.path=/var/run/docker.sock

# SSH - fill in your server details
ssh.host=YOUR_HOST
ssh.port=22
ssh.user=YOUR_USER
ssh.private.key.path=/home/YOUR_USER/.ssh/id_rsa
ssh.remote.socket.path=/var/run/docker.sock
ssh.socat.port=2375

Run

# Build
mvn package -DskipTests

# Local socket demo
java -jar target/docker-socket-manager-demo-*.jar local

# SSH tunnel demo
java -jar target/docker-socket-manager-demo-*.jar ssh

# Both
java -jar target/docker-socket-manager-demo-*.jar all

Run in Docker

# Get Docker group ID and put it in .env
echo "DOCKER_GROUP_ID=$(getent group docker | cut -d: -f3)" >> .env

# Local demo
docker compose run --rm demo-local

# SSH demo
docker compose run --rm demo-ssh

Note: Mounting the Docker socket gives the container full access to the host's Docker daemon. Only use in trusted environments.

Library

<dependency>
    <groupId>tech.nomad4</groupId>
    <artifactId>docker-socket-manager</artifactId>
    <version>0.1.0</version>
</dependency>

docker-socket-manager

About

Demo for docker-socket-manager - local socket and SSH tunnel

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors