use per user docker socket if system docker socket doesn't exist

This commit is contained in:
Adil Hafeez 2025-01-08 14:00:01 -08:00
parent aa11113cea
commit a48c9d654a
2 changed files with 21 additions and 1 deletions

View file

@ -1,3 +1,4 @@
import os
import yaml
import logging
import docker
@ -19,8 +20,26 @@ def getLogger(name="cli"):
log = getLogger(__name__)
def update_docker_host_env():
"""
Update DOCKER_HOST environment variable to use the local Docker socket
"""
if os.getenv("DOCKER_HOST"):
return
default_docker_socket = os.getenv("DEFAULT_DOCKER_SOCKET", "/var/run/docker.sock")
if not os.path.exists(default_docker_socket):
home_dir = os.getenv("HOME")
docker_host = f"unix://{home_dir}/.docker/run/docker.sock"
log.info(
f"Default docker socket {default_docker_socket} not found, using {docker_host}"
)
os.environ["DOCKER_HOST"] = docker_host
def validate_schema(arch_config_file: str) -> None:
try:
update_docker_host_env()
client = docker.from_env()
# Run the container with detach=True to avoid blocking main process
container = client.containers.run(