docker container commit

Estimated reading time: 4 minutes

Description

Create a new image from a container’s changes

Usage

docker container commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

Options

Name, shorthand Default Description
--author, -a   Author (e.g., “John Hannibal Smith hannibal@a-team.com”)
--change, -c   Apply Dockerfile instruction to the created image
--message, -m   Commit message
--pause, -p true Pause container during commit

Parent command

Command Description
docker container Manage containers
Command Description
docker container attach Attach to a running container
docker container commit Create a new image from a container’s changes
docker container cp Copy files/folders between a container and the local filesystem
docker container create Create a new container
docker container diff Inspect changes to files or directories on a container’s filesystem
docker container exec Run a command in a running container
docker container export Export a container’s filesystem as a tar archive
docker container inspect Display detailed information on one or more containers
docker container kill Kill one or more running containers
docker container logs Fetch the logs of a container
docker container ls List containers
docker container pause Pause all processes within one or more containers
docker container port List port mappings or a specific mapping for the container
docker container prune Remove all stopped containers
docker container rename Rename a container
docker container restart Restart one or more containers
docker container rm Remove one or more containers
docker container run Run a command in a new container
docker container start Start one or more stopped containers
docker container stats Display a live stream of container(s) resource usage statistics
docker container stop Stop one or more running containers
docker container top Display the running processes of a container
docker container unpause Unpause all processes within one or more containers
docker container update Update configuration of one or more containers
docker container wait Block until one or more containers stop, then print their exit codes

Extended description

Create a new image from an existing container specified by name or container ID. The new image will contain the contents of the container filesystem, excluding any data volumes. Refer to docker-tag(1) for more information about valid image and tag names.

While the docker commit command is a convenient way of extending an existing image, you should prefer the use of a Dockerfile and docker build for generating images that you intend to share with other people.

EXAMPLES

Creating a new image from an existing container

An existing Fedora based container has had Apache installed while running in interactive mode with the bash shell. Apache is also running. To create a new image run docker ps to find the container’s ID and then run:

# docker commit -m="Added Apache to Fedora base image" \
  -a="A D Ministrator" 98bd7fc99854 fedora/fedora_httpd:20

Note that only a-z0-9-_. are allowed when naming images from an existing container.

Apply specified Dockerfile instructions while committing the image

If an existing container was created without the DEBUG environment variable set to “true”, you can create a new image based on that container by first getting the container’s ID with docker ps and then running:

# docker container commit -c="ENV DEBUG true" 98bd7fc99854 debug-image

Examples

Creating a new image from an existing container

An existing Fedora based container has had Apache installed while running in interactive mode with the bash shell. Apache is also running. To create a new image run docker ps to find the container’s ID and then run:

$ docker commit -m="Added Apache to Fedora base image" \
  -a="A D Ministrator" 98bd7fc99854 fedora/fedora_httpd:20

Note that only a-z0-9-_. are allowed when naming images from an existing container.

Apply specified Dockerfile instructions while committing the image

If an existing container was created without the DEBUG environment variable set to “true”, you can create a new image based on that container by first getting the container’s ID with docker ps and then running:

$ docker container commit -c="ENV DEBUG true" 98bd7fc99854 debug-image
chat icon Feedback? Suggestions? Can't find something in the docs?
Edit this page Request docs changes Get support
Rate this page: