MCPcopy Index your code
hub / github.com/Dokploy/dokploy / pullRemoteImage

Function pullRemoteImage

packages/server/src/utils/docker/utils.ts:56–99  ·  view source on GitHub ↗
(
	dockerImage: string,
	serverId: string,
	onData?: (data: any) => void,
	authConfig?: Partial<RegistryAuth>,
)

Source from the content-addressed store, hash-verified

54};
55
56export const pullRemoteImage = async (
57 dockerImage: string,
58 serverId: string,
59 onData?: (data: any) => void,
60 authConfig?: Partial<RegistryAuth>,
61): Promise<void> => {
62 try {
63 if (!dockerImage) {
64 throw new Error("Docker image not found");
65 }
66
67 const remoteDocker = await getRemoteDocker(serverId);
68
69 await new Promise((resolve, reject) => {
70 remoteDocker.pull(
71 dockerImage,
72 { authconfig: authConfig },
73 (err, stream) => {
74 if (err) {
75 reject(err);
76 return;
77 }
78
79 remoteDocker.modem.followProgress(
80 stream as Readable,
81 (err: Error | null, res) => {
82 if (!err) {
83 resolve(res);
84 }
85 if (err) {
86 reject(err);
87 }
88 },
89 (event) => {
90 onData?.(event);
91 },
92 );
93 },
94 );
95 });
96 } catch (error) {
97 throw error;
98 }
99};
100
101export const containerExists = async (containerName: string) => {
102 const container = docker.getContainer(containerName);

Callers 1

setupMonitoringFunction · 0.90

Calls 2

getRemoteDockerFunction · 0.90
onDataFunction · 0.50

Tested by

no test coverage detected