mirror of https://github.com/portainer/portainer
33 lines
1.0 KiB
TypeScript
33 lines
1.0 KiB
TypeScript
import axios, { parseAxiosError } from '@/portainer/services/axios';
|
|
import { EnvironmentId } from '@/react/portainer/environments/types';
|
|
|
|
import { buildDockerProxyUrl } from './buildDockerProxyUrl';
|
|
|
|
type CommitParams = {
|
|
container?: string; // The ID or name of the container to commit
|
|
repo?: string; // Repository name for the created image
|
|
tag?: string; // Tag name for the create image
|
|
comment?: string; // Commit message
|
|
author?: string; // Author of the image (e.g., John Hannibal Smith <hannibal@a-team.com>)
|
|
pause?: boolean; // Default: true Whether to pause the container before committing
|
|
changes?: string; // Dockerfile instructions to apply while committing
|
|
};
|
|
|
|
export async function commitContainer(
|
|
environmentId: EnvironmentId,
|
|
params: CommitParams
|
|
) {
|
|
try {
|
|
const { data } = await axios.post<{ Id: string }>(
|
|
buildDockerProxyUrl(environmentId, 'commit'),
|
|
{},
|
|
{
|
|
params,
|
|
}
|
|
);
|
|
return data;
|
|
} catch (err) {
|
|
throw parseAxiosError(err, 'Unable to commit container');
|
|
}
|
|
}
|