mirror of
https://github.com/Dokploy/dokploy
synced 2025-06-26 18:27:59 +00:00
feat(traefik-setup): check for existing image before pulling to optimize image management
This commit is contained in:
@@ -124,16 +124,25 @@ export const initializeTraefik = async ({
|
|||||||
console.log("No existing container to remove");
|
console.log("No existing container to remove");
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(`Pulling image ${imageName}...`);
|
try {
|
||||||
const stream = await docker.pull(imageName);
|
await docker.getImage(imageName).inspect();
|
||||||
await new Promise((resolve, reject) => {
|
console.log(`Image ${imageName} already exists locally.`);
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
} catch (error: any) {
|
||||||
// @ts-ignore
|
if (error?.statusCode === 404) {
|
||||||
docker.modem.followProgress(stream, (err: Error, res: any) =>
|
console.log(`Image ${imageName} not found, pulling...`);
|
||||||
err ? reject(err) : resolve(res),
|
const stream = await docker.pull(imageName);
|
||||||
);
|
await new Promise((resolve, reject) => {
|
||||||
});
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
console.log(`Image ${imageName} pulled successfully.`);
|
// @ts-ignore
|
||||||
|
docker.modem.followProgress(stream, (err: Error, res: any) =>
|
||||||
|
err ? reject(err) : resolve(res),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
console.log(`Image ${imageName} pulled successfully.`);
|
||||||
|
} else {
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Create and start the new container
|
// Create and start the new container
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user