diff --git a/test/test.nonci.node.ts b/test/test.nonci.node.ts index a621acc..71428dc 100644 --- a/test/test.nonci.node.ts +++ b/test/test.nonci.node.ts @@ -4,7 +4,7 @@ import * as docker from '../ts/index.js'; let testDockerHost: docker.DockerHost; tap.test('should create a new Dockersock instance', async () => { - testDockerHost = new docker.DockerHost('http://unix:/var/run/docker.sock:'); + testDockerHost = new docker.DockerHost(); return expect(testDockerHost).toBeInstanceOf(docker.DockerHost); }); diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 293e698..c6c7cf0 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@apiclient.xyz/docker', - version: '1.0.106', + version: '1.0.107', description: 'easy communication with docker remote api from node, TypeScript ready' } diff --git a/ts/docker.classes.host.ts b/ts/docker.classes.host.ts index ec8a6de..b5dd8c9 100644 --- a/ts/docker.classes.host.ts +++ b/ts/docker.classes.host.ts @@ -3,6 +3,7 @@ import { DockerContainer } from './docker.classes.container.js'; import { DockerNetwork } from './docker.classes.network.js'; import { DockerService } from './docker.classes.service.js'; import { logger } from './docker.logging.js'; +import path from 'path'; export interface IAuthData { serveraddress: string; @@ -25,11 +26,17 @@ export class DockerHost { let pathToUse: string; if (pathArg) { pathToUse = pathArg; + } else if (process.env.DOCKER_HOST) { + pathToUse = process.env.DOCKER_HOST; } else if (process.env.CI) { pathToUse = 'http://docker:2375/'; } else { pathToUse = 'http://unix:/var/run/docker.sock:'; } + if (pathToUse.startsWith('unix:///')) { + pathToUse = pathToUse.replace('unix://', 'http://unix:') + ':'; + } + console.log(`using docker sock at ${pathToUse}`); this.socketPath = pathToUse; }