docker-container-commit man page
docker-container-commit — Create a new image from a container's changes
docker container commit [Options] CONTAINER [REPOSITORY[:TAG]]
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.
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.
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
- -a, --author=""
Author (e.g., "John Hannibal Smith ⟨email@example.com⟩")
- -c, --change=
Apply Dockerfile instruction to the created image
- -h, --help[=false]
help for commit
- -m, --message=""
- -p, --pause[=true]
Pause container during commit