comandos docker.pdf
Vista previa de texto
23
Crear una nueva imagen
Cuando una imagen no se adapta a nuestras necesidades, podemos crear una nueva imagen a
partir de esa imagen. Por ejemplo, en la imagen ubuntu:14.04 no tenemos los comandos curl, wget,
etc. Podemos crear una nueva imagen a partir de la original añadiendo los comandos o
herramientas que necesitamos.
Creamos un contenedor a partir de la imagen que
vamos a modificar
$ docker run -it ubuntu:14.04 bash
root@c33a2339ca21:/#
1
2
Donde
-it, indicamos a docker que deje un terminal abierto (-t) para trabajar de forma interactiva (-i) con el
contenedor
Instalamos los comandos o herramientas que
necesitamos y salimos del contenedor
1
2
3
root@c33a2339ca21:/# apt-get update
root@c33a2339ca21:/# apt-get install curl wget
root@c33a2339ca21:/# exit
Creamos la nueva imagen
1
2
$ docker commit -m "comandos curl y wget" -a "me" c33a2339ca21
ubuntu14.04/utils:0.0.1
074f77447d43f92aa8006ba97b54a26a187782224392d4a5ea3798dcb860060c
Verificamos la nueva imagen recién creada
1
2
3
4
$ docker images
REPOSITORY
TAG
ID
CREATED
ubuntu14.04/utils
0.0.1
ago
221.3 MB
myrepo/myapp
1.0
ago
259.3 MB
IMAGE
VIRTUAL SIZE
074f77447d43
f4702680b832
14 minutes
6 days
Creamos el nuevo contenedor a partir de la nueva
imagen
1
2
3
4
$ docker run -it ubuntu14.04/utils:0.0.1
root@866b066b913a:/# curl http://localhost
curl: (7) Failed to connect to localhost port 80: Connection refused
root@866b066b913a:/# exit
Una vez lo hemos creado, ya podemos volver a ejecutarlo cuando lo necesitemos.
Verificamos el contenedor recién creado
1
2
3
4
$ docker ps -a
CONTAINER ID
866b066b913a
a minute ago
c33a2339ca21
minutes ago
IMAGE
ubuntu14.04/utils:0.0.1
COMMAND
"bash"
CREATED
About a min
ubuntu:14.04
"bash"
31 minutes