2015-06-08 13:48:20 -04:00
|
|
|
% DOCKER(1) Docker User Manuals
|
|
|
|
% Docker Community
|
|
|
|
% JUNE 2014
|
|
|
|
# NAME
|
|
|
|
docker-commit - Create a new image from a container's changes
|
|
|
|
|
|
|
|
# SYNOPSIS
|
|
|
|
**docker commit**
|
|
|
|
[**-a**|**--author**[=*AUTHOR*]]
|
2015-08-19 09:59:44 -04:00
|
|
|
[**-c**|**--change**[=\[*DOCKERFILE INSTRUCTIONS*\]]]
|
2015-10-03 11:56:41 -04:00
|
|
|
[**--help**]
|
2015-06-08 13:48:20 -04:00
|
|
|
[**-m**|**--message**[=*MESSAGE*]]
|
|
|
|
[**-p**|**--pause**[=*true*]]
|
|
|
|
CONTAINER [REPOSITORY[:TAG]]
|
|
|
|
|
|
|
|
# DESCRIPTION
|
2015-06-17 09:04:41 -04:00
|
|
|
Create a new image from an existing container specified by name or
|
|
|
|
container ID. The new image will contain the contents of the
|
2016-05-11 09:15:50 -04:00
|
|
|
container filesystem, *excluding* any data volumes. Refer to **docker-tag(1)**
|
|
|
|
for more information about valid image and tag names.
|
2015-06-17 09:04:41 -04:00
|
|
|
|
|
|
|
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.
|
2015-06-08 13:48:20 -04:00
|
|
|
|
|
|
|
# OPTIONS
|
|
|
|
**-a**, **--author**=""
|
|
|
|
Author (e.g., "John Hannibal Smith <hannibal@a-team.com>")
|
|
|
|
|
|
|
|
**-c** , **--change**=[]
|
|
|
|
Apply specified Dockerfile instructions while committing the image
|
2015-07-09 12:57:42 -04:00
|
|
|
Supported Dockerfile instructions: `CMD`|`ENTRYPOINT`|`ENV`|`EXPOSE`|`LABEL`|`ONBUILD`|`USER`|`VOLUME`|`WORKDIR`
|
2015-06-08 13:48:20 -04:00
|
|
|
|
|
|
|
**--help**
|
|
|
|
Print usage statement
|
|
|
|
|
|
|
|
**-m**, **--message**=""
|
|
|
|
Commit message
|
|
|
|
|
|
|
|
**-p**, **--pause**=*true*|*false*
|
|
|
|
Pause container during commit. The default is *true*.
|
|
|
|
|
|
|
|
# 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
|
|
|
|
|
2015-07-01 11:15:17 -04:00
|
|
|
Note that only a-z0-9-_. are allowed when naming images from an
|
|
|
|
existing container.
|
|
|
|
|
2015-06-08 13:48:20 -04:00
|
|
|
## 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 commit -c="ENV DEBUG true" 98bd7fc99854 debug-image
|
|
|
|
|
|
|
|
# HISTORY
|
|
|
|
April 2014, Originally compiled by William Henry (whenry at redhat dot com)
|
|
|
|
based on docker.com source material and in
|
|
|
|
June 2014, updated by Sven Dowideit <SvenDowideit@home.org.au>
|
|
|
|
July 2014, updated by Sven Dowideit <SvenDowideit@home.org.au>
|
|
|
|
Oct 2014, updated by Daniel, Dao Quang Minh <daniel at nitrous dot io>
|
2015-07-01 11:15:17 -04:00
|
|
|
June 2015, updated by Sally O'Malley <somalley@redhat.com>
|