# docker container commit

**Descripción:** Crea una nueva imagen a partir de los cambios de un contenedor

**Uso:** `docker container commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]`

**Alias:** `docker commit`








## Descripción

Puede ser útil confirmar (commit) los cambios de archivos o configuraciones de un contenedor en una nueva
imagen. Esto te permite depurar un contenedor ejecutando una shell interactiva, o
exportar un conjunto de datos de trabajo a otro servidor.

Los commits no incluyen ningún dato contenido en los volúmenes montados.

Por defecto, el contenedor que se va a confirmar y sus procesos se pausarán
mientras se crea la imagen. Esto reduce la probabilidad de sufrir corrupción de datos
durante el proceso de creación del commit. Si este comportamiento no es el deseado,
establece la opción `--pause` en false.

La opción `--change` aplicará instrucciones de `Dockerfile` a la imagen que se
cree. Instrucciones de `Dockerfile` admitidas:
`CMD`|`ENTRYPOINT`|`ENV`|`EXPOSE`|`LABEL`|`ONBUILD`|`USER`|`VOLUME`|`WORKDIR`


## Opciones

| Opción                                                        | Predeterminado                                        | Descripción                                                                                                                                    |
| ------------------------------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|  | `-a`, `--author` |  |  Autor (ej. `John Hannibal Smith <hannibal@a-team.com>`) |

 | `-c`, `--change` |  |  Aplica la instrucción del Dockerfile a la imagen creada |

 | `-m`, `--message` |  |  Mensaje del commit |

 | `--no-pause` |  |  Deshabilita la pausa del contenedor durante el commit |




## Ejemplos

### Confirmar (commit) un contenedor

```console
$ docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS              NAMES
c3f279d17e0a        ubuntu:24.04        /bin/bash           7 days ago          Up 25 hours                            desperate_dubinsky
197387f1b436        ubuntu:24.04        /bin/bash           7 days ago          Up 25 hours                            focused_hamilton

$ docker commit c3f279d17e0a  svendowideit/testimage:version3

f5283438590d

$ docker images

REPOSITORY                        TAG                 ID                  CREATED             SIZE
svendowideit/testimage            version3            f5283438590d        16 seconds ago      335.7 MB
```

### Confirmar (commit) un contenedor con nuevas configuraciones (--change) {#change}

```console
$ docker ps

CONTAINER ID       IMAGE               COMMAND             CREATED             STATUS              PORTS              NAMES
c3f279d17e0a       ubuntu:24.04        /bin/bash           7 days ago          Up 25 hours                            desperate_dubinsky
197387f1b436       ubuntu:24.04        /bin/bash           7 days ago          Up 25 hours                            focused_hamilton

$ docker inspect -f "{{ .Config.Env }}" c3f279d17e0a

[HOME=/ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin]

$ docker commit --change "ENV DEBUG=true" c3f279d17e0a  svendowideit/testimage:version3

f5283438590d

$ docker inspect -f "{{ .Config.Env }}" f5283438590d

[HOME=/ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin DEBUG=true]
```

### Confirmar (commit) un contenedor con nuevas instrucciones CMD y EXPOSE

```console
$ docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS              NAMES
c3f279d17e0a        ubuntu:24.04        /bin/bash           7 days ago          Up 25 hours                            desperate_dubinsky
197387f1b436        ubuntu:24.04        /bin/bash           7 days ago          Up 25 hours                            focused_hamilton

$ docker commit --change='CMD ["apachectl", "-DFOREGROUND"]' -c "EXPOSE 80" c3f279d17e0a  svendowideit/testimage:version4

f5283438590d

$ docker run -d svendowideit/testimage:version4

89373736e2e7f00bc149bd783073ac43d0507da250e999f3f1036e0db60817c0

$ docker ps

CONTAINER ID        IMAGE               COMMAND                 CREATED             STATUS              PORTS              NAMES
89373736e2e7        testimage:version4  "apachectl -DFOREGROU"  3 seconds ago       Up 2 seconds        80/tcp             distracted_fermat
c3f279d17e0a        ubuntu:24.04        /bin/bash               7 days ago          Up 25 hours                            desperate_dubinsky
197387f1b436        ubuntu:24.04        /bin/bash               7 days ago          Up 25 hours                            focused_hamilton
```



