Manejando Docker ( Segunda Parte )

Bien, vamos a continuar probando cosas ahora que ya hemos conseguido tener una imagen funcionando.

Comprobamos las imágenes que tenemos disponibles:

alberto@ansible-master:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              6a2f32de169d        5 days ago          117.2 MB
hello-world         latest              48b5124b2768        3 months ago        1.84 kB
 docker tag <image> <name>: Sirve para dar una etiqueta a una imagen instalada.

Es interesante definir una etiqueta personalizada que haga referencia a una imagen instalada en su sistema. Esto puede venir bien para tener un poco más de organización cuando se utilizan muchas imágenes, más cuando son del mismo sistema.

alberto@ansible-master:~$ docker tag 48b5124b2768 hola-mundo

Verificamos:

alberto@ansible-master:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
sysbench            latest              2961caa2662b        4 hours ago         127.4 MB
pwgen               latest              7de10fd8ab39        4 hours ago         4.849 MB
alberto             test                7f434c386b9e        2 days ago          97.34 MB
ubuntu              alberto             a47c7de1ccb6        2 days ago          121.3 MB
ubuntu              latest              6a2f32de169d        7 days ago          117.2 MB
debian              jessie              8cedef9d7368        4 weeks ago         123.4 MB
alpine              3.4                 245f7a86c576        6 weeks ago         4.807 MB
hello-world         latest              48b5124b2768        3 months ago        1.84 kB
hola-mundo          latest              48b5124b2768        3 months ago        1.84 kB
 docker start <image>:  Sirve para arrancar un contenedor
alberto@ansible-master:~$ docker start ac7b774bb732
ac7b774bb732
docker stop <container>: Sirve para parar un contenedor
alberto@ansible-master:~$ docker stop ac7b774bb732
ac7b774bb732
docker commit <container> <image>: Sirve para guardar un contenedor como una imagen
alberto@ansible-master:~$ docker commit ac7b774bb732 ubuntu:alberto
sha256:4eec2299f8415d4d7f88171919c3f09e9ed85754e1f3ba40e81a3dde8d23ac39

Comprobamos:

alberto@ansible-master:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              alberto             4eec2299f841        7 seconds ago       117.2 MB
sysbench            latest              2961caa2662b        5 hours ago         127.4 MB
pwgen               latest              7de10fd8ab39        5 hours ago         4.849 MB
alberto             test                7f434c386b9e        2 days ago          97.34 MB
<none>              <none>              a47c7de1ccb6        2 days ago          121.3 MB
ubuntu              latest              6a2f32de169d        7 days ago          117.2 MB
debian              jessie              8cedef9d7368        4 weeks ago         123.4 MB
alpine              3.4                 245f7a86c576        6 weeks ago         4.807 MB
hola-mundo          latest              48b5124b2768        3 months ago        1.84 kB
hello-world         latest              48b5124b2768        3 months ago        1.84 kB
docker save <image> > <dir>: Sirve para exportar la imagen a fichero
alberto@ansible-master:~$ docker save ubuntu:alberto  > /tmp/ubuntu.alberto.tar

Comprobamos:

alberto@ansible-master:~$ tar tvf /tmp/ubuntu.alberto.tar
-rw-r--r-- 0/0 3483 2016-04-20 16:55 4eec2299f8415d4d7f88171919c3f09e9ed85754e1f3ba40e81a3dde8d23ac39.json
drwxr-xr-x 0/0 0 2016-04-20 16:55 74f82876bc3a2bcd96640d7473dff037fe99bae07c7dd9ad142a2fd2178968fe/
-rw-r--r-- 0/0 3 2016-04-20 16:55 74f82876bc3a2bcd96640d7473dff037fe99bae07c7dd9ad142a2fd2178968fe/VERSION
-rw-r--r-- 0/0 388 2016-04-20 16:55 74f82876bc3a2bcd96640d7473dff037fe99bae07c7dd9ad142a2fd2178968fe/json
-rw-r--r-- 0/0 121239552 2016-04-20 16:55 74f82876bc3a2bcd96640d7473dff037fe99bae07c7dd9ad142a2fd2178968fe/layer.tar
drwxr-xr-x 0/0 0 2016-04-20 16:55 7fb54cf7f1a5ab16942b4461ecfd51ab4d2a08613e00dc58832ced0233c0eef6/
-rw-r--r-- 0/0 3 2016-04-20 16:55 7fb54cf7f1a5ab16942b4461ecfd51ab4d2a08613e00dc58832ced0233c0eef6/VERSION
-rw-r--r-- 0/0 464 2016-04-20 16:55 7fb54cf7f1a5ab16942b4461ecfd51ab4d2a08613e00dc58832ced0233c0eef6/json
-rw-r--r-- 0/0 15872 2016-04-20 16:55 7fb54cf7f1a5ab16942b4461ecfd51ab4d2a08613e00dc58832ced0233c0eef6/layer.tar
drwxr-xr-x 0/0 0 2016-04-20 16:55 982c5bfe381b11e583cbc1d1f0aedef4143f8ef28707e729f03c7fe88a6e5475/
-rw-r--r-- 0/0 3 2016-04-20 16:55 982c5bfe381b11e583cbc1d1f0aedef4143f8ef28707e729f03c7fe88a6e5475/VERSION
-rw-r--r-- 0/0 464 2016-04-20 16:55 982c5bfe381b11e583cbc1d1f0aedef4143f8ef28707e729f03c7fe88a6e5475/json
-rw-r--r-- 0/0 5632 2016-04-20 16:55 982c5bfe381b11e583cbc1d1f0aedef4143f8ef28707e729f03c7fe88a6e5475/layer.tar
drwxr-xr-x 0/0 0 2016-04-20 16:55 e284a9bc939e269d3cadbd9adeb222380b763569a51c43c956994f4dc263fbdd/
-rw-r--r-- 0/0 3 2016-04-20 16:55 e284a9bc939e269d3cadbd9adeb222380b763569a51c43c956994f4dc263fbdd/VERSION
-rw-r--r-- 0/0 1043 2016-04-20 16:55 e284a9bc939e269d3cadbd9adeb222380b763569a51c43c956994f4dc263fbdd/json
-rw-r--r-- 0/0 3072 2016-04-20 16:55 e284a9bc939e269d3cadbd9adeb222380b763569a51c43c956994f4dc263fbdd/layer.tar
drwxr-xr-x 0/0 0 2016-04-20 16:55 f848e53091079995d62b1ce5980bc17b04a337a9f02819dd452e28fa22f4b819/
-rw-r--r-- 0/0 3 2016-04-20 16:55 f848e53091079995d62b1ce5980bc17b04a337a9f02819dd452e28fa22f4b819/VERSION
-rw-r--r-- 0/0 464 2016-04-20 16:55 f848e53091079995d62b1ce5980bc17b04a337a9f02819dd452e28fa22f4b819/json
-rw-r--r-- 0/0 11776 2016-04-20 16:55 f848e53091079995d62b1ce5980bc17b04a337a9f02819dd452e28fa22f4b819/layer.tar
-rw-r--r-- 0/0 511 1970-01-01 01:00 manifest.json
-rw-r--r-- 0/0 90 1970-01-01 01:00 repositories

 docker load < <file>: Permite importar un fichero y registrarlo como imagen
alberto@ansible-master:~$ docker load < /tmp/ubuntu.alberto.tar
Loaded image: ubuntu:alberto
 docker rmi <nombre>: Permite borrar una imagen del registro local
alberto@ansible-master:~$ docker rmi hola-mundo
Untagged: hola-mundo:latest

También puede usarse el <IMAGE ID> para definir la imagen a borrar

alberto@ansible-master:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              alberto             4eec2299f841        6 minutes ago       117.2 MB
sysbench            latest              2961caa2662b        5 hours ago         127.4 MB
pwgen               latest              7de10fd8ab39        5 hours ago         4.849 MB
alberto             test                7f434c386b9e        2 days ago          97.34 MB
<none>              <none>              a47c7de1ccb6        2 days ago          121.3 MB
alberto@ansible-master:~$ docker rmi a47c7de1ccb6
Deleted: sha256:a47c7de1ccb68335b874e872e7209e8e571a26928c2467463e3591a4beb47217
Deleted: sha256:30225fffea5bbe3d85ed2d48fc60d12201a3425cdaea194a9399e9febfaa5e02

 


So, what do you think ?