🔀 Merge pull request #363 from Skeeww/dev

♻️ Change Docker instance to singleton
This commit is contained in:
Thomas Camlong
2022-08-25 16:56:27 +02:00
committed by GitHub
3 changed files with 20 additions and 5 deletions

View File

@@ -0,0 +1,16 @@
import Docker from 'dockerode';
export default class DockerSingleton extends Docker {
private static dockerInstance: DockerSingleton;
private constructor() {
super();
}
public static getInstance(): DockerSingleton {
if (!DockerSingleton.dockerInstance) {
DockerSingleton.dockerInstance = new DockerSingleton();
}
return DockerSingleton.dockerInstance;
}
}

View File

@@ -1,7 +1,7 @@
import { NextApiRequest, NextApiResponse } from 'next';
import Docker from 'dockerode';
import DockerSingleton from '../DockerSingleton';
const docker = new Docker();
const docker = DockerSingleton.getInstance();
async function Get(req: NextApiRequest, res: NextApiResponse) {
// Get the slug of the request

View File

@@ -1,10 +1,9 @@
import { NextApiRequest, NextApiResponse } from 'next';
import Docker from 'dockerode';
import DockerSingleton from './DockerSingleton';
async function Get(req: NextApiRequest, res: NextApiResponse) {
try {
const docker = new Docker();
const docker = DockerSingleton.getInstance();
const containers = await docker.listContainers({ all: true });
res.status(200).json(containers);
} catch (err) {