Skip to main content

Unix Socket

Unix sockets provide inter-process communication on the same machine, commonly used by Docker, databases, and system services.

Overview​

Common Socket Paths​

ServiceSocket Path
Docker/var/run/docker.sock
containerd/run/containerd/containerd.sock
MySQL/var/run/mysqld/mysqld.sock
PostgreSQL/var/run/postgresql/.s.PGSQL.5432
PHP-FPM/var/run/php/php-fpm.sock

Making a Request​

  1. Select Unix Socket from the protocol dropdown
  2. Enter the Socket Path: /var/run/docker.sock
  3. Select the HTTP Method: GET, POST, etc.
  4. Enter the Path: /v1.43/containers/json
  5. Click Run

Request Configuration​

Socket Path​

The absolute path to the Unix socket file:

/var/run/docker.sock

Method​

Standard HTTP methods are supported:

  • GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS

Path​

The HTTP path to request:

/v1.43/containers/json?all=true

Headers​

Add custom headers as needed:

HeaderValue
Content-Typeapplication/json

Body​

For POST/PUT/PATCH requests, include a JSON body.

Docker API Examples​

List Containers​

Socket: /var/run/docker.sock
Method: GET
Path: /v1.43/containers/json

Response:

[
{
"Id": "abc123...",
"Names": ["/my-container"],
"Image": "nginx:latest",
"State": "running"
}
]

Get Container Details​

Socket: /var/run/docker.sock
Method: GET
Path: /v1.43/containers/{{CONTAINER_ID}}/json

Create Container​

Socket: /var/run/docker.sock
Method: POST
Path: /v1.43/containers/create?name=my-nginx
Body:
{
"Image": "nginx:latest",
"ExposedPorts": {
"80/tcp": {}
},
"HostConfig": {
"PortBindings": {
"80/tcp": [{"HostPort": "8080"}]
}
}
}

Start Container​

Socket: /var/run/docker.sock
Method: POST
Path: /v1.43/containers/{{CONTAINER_ID}}/start

Stop Container​

Socket: /var/run/docker.sock
Method: POST
Path: /v1.43/containers/{{CONTAINER_ID}}/stop

List Images​

Socket: /var/run/docker.sock
Method: GET
Path: /v1.43/images/json

Playground Example​

The playground includes a Unix socket server (macOS/Linux only):

Socket: /tmp/istek-playground.sock
Method: GET
Path: /api/products

Permissions​

Unix sockets require appropriate file permissions. Common issues:

Permission Denied​

# Add user to docker group
sudo usermod -aG docker $USER

# Or adjust socket permissions
sudo chmod 666 /var/run/docker.sock

Socket Not Found​

  • Verify the service is running
  • Check the socket path is correct
  • Ensure the socket file exists

Platform Support​

PlatformSupport
macOSFull support
LinuxFull support
WindowsNot supported
note

Unix sockets are not available on Windows. Use TCP connections or named pipes instead.

Tips​

Docker API Version

Always specify the API version in the path (e.g., /v1.43/) to ensure compatibility.

Variables

Use variables for container IDs and other dynamic values:

Path: /v1.43/containers/{{CONTAINER_ID}}/logs