Comandos básicos en Docker

Índice

Para descargar imágenes desde los repositorios públicos de Docker se usa el comando docker pull.

debian@docker:~$ docker pull ubuntu:22.04
22.04: Pulling from library/ubuntu
6414378b6477: Pull complete 
Digest: sha256:0e5e4a57c2499249aafc3b40fcd541e9a456aab7296681a3994d631587203f97
Status: Downloaded newer image for ubuntu:22.04
docker.io/library/ubuntu:22.04
debian@docker:~$ docker pull tomcat:9.0.70-jdk11
9.0.70-jdk11: Pulling from library/tomcat
6e3729cf69e0: Pull complete 
96aa423488f0: Pull complete 
7be0f5f0ccdf: Pull complete 
2c7e543fcebc: Pull complete 
6a4dee6d6ab0: Pull complete 
59932727e86b: Pull complete 
d52d77ccbc1b: Pull complete 
Digest: sha256:ddcd9abc74193d31ce49ed2ec33d7440956e441c90ed636d8b2d34812572fc05
Status: Downloaded newer image for tomcat:9.0.70-jdk11
docker.io/library/tomcat:9.0.70-jdk11
debian@docker:~$ docker pull jenkins/jenkins:lts 
lts: Pulling from jenkins/jenkins
0a96bdb82805: Pull complete 
b5e2db483aae: Pull complete 
72b137db2cdf: Pull complete 
d0aac1e9e20c: Pull complete 
c48e3974586c: Pull complete 
d281eadf0ae3: Pull complete 
be47ab5dc59d: Pull complete 
c09c222384de: Pull complete 
a91f2a3bb141: Pull complete 
1a17773e6697: Pull complete 
b535e1c5efef: Pull complete 
3cfa79b75794: Pull complete 
Digest: sha256:dc56634cc8fa476f36eba16d7db6c6bc1f5e3c7062432256738a008a339ee95c
Status: Downloaded newer image for jenkins/jenkins:lts
docker.io/jenkins/jenkins:lts
debian@docker:~$ docker pull php:8.3-apache
8.3-apache: Pulling from library/php
af302e5c37e9: Pull complete 
05e004e38cd9: Pull complete 
6c0335640eef: Pull complete 
9228f3fa46c1: Pull complete 
a4d4a5a93692: Pull complete 
b0ddef6aec18: Pull complete 
ac37b14f2c9c: Pull complete 
f1a2b56ba197: Pull complete 
f6c436b244b8: Pull complete 
66ef6ef33f8b: Pull complete 
8dbe7fe859d0: Pull complete 
9bbe234e2909: Pull complete 
bf2f883095aa: Pull complete 
4f4fb700ef54: Pull complete 
Digest: sha256:24ec61fdf4844c34f9a763df6a02a1938449ad1126a5535a64a83ed6188b8f2b
Status: Downloaded newer image for php:8.3-apache
docker.io/library/php:8.3-apache

Con el comando docker images se pueden listar las imágenes descargadas en el registro local.

debian@docker:~$ docker images
REPOSITORY        TAG            IMAGE ID       CREATED        SIZE
jenkins/jenkins   lts            44c1caefd796   5 days ago     468MB
php               8.3-apache     5e08b094a675   3 weeks ago    505MB
nextcloud         latest         3fe93cf87aa0   4 weeks ago    1.27GB
nginx             latest         f876bfc1cc63   6 weeks ago    192MB
ubuntu            22.04          97271d29cb79   4 months ago   77.9MB
tomcat            9.0.70-jdk11   60c46b490690   2 years ago    468MB

A partir de una de estas imágenes se puede crear un contenedor.

debian@docker:~$ docker run -d --name php -p 8081:80 php:8.3-apache
6ed7fb3d3892ce637c903f9631f2a363cf11d82c2b0642033a35229be1ef616b

La opción -s del comando docker ps muestra el tamaño del fichero.

debian@docker:~$ docker ps -a -s
CONTAINER ID   IMAGE            COMMAND                  CREATED         STATUS         PORTS                                     NAMES       SIZE
6ed7fb3d3892   php:8.3-apache   "docker-php-entrypoi…"   8 seconds ago   Up 7 seconds   80/tcp                                    php         2B (virtual 505MB)

A los contenedores se les pueden trasladar ficheros usando el comando docker cp. Para ello, se crea un fichero.

debian@docker:~$ nano info.php

A continuación se rellena.

<?php
echo phpinfo();
?>

Y se pasa al contenedor.

debian@docker:~$ docker cp info.php php:/var/www/html
Successfully copied 2.05kB to php:/var/www/html

Tras añadir el fichero, el tamaño del contenedor aumenta.

debian@docker:~$ docker ps -s
CONTAINER ID   IMAGE            COMMAND                  CREATED          STATUS          PORTS                                     NAMES       SIZE
4bdae5867ccc   php:8.3-apache   "docker-php-entrypoi…"   50 seconds ago   Up 50 seconds   0.0.0.0:8081->80/tcp, [::]:8081->80/tcp   php         27B (virtual 505MB)

Al acceder al puerto 8081 del servidor que aloja el contenedor se muestra el contenido que se ha copiado al servidor.

comments powered by Disqus

Relacionados

Gestión de redes en Openstack

En este post se muestra un caso práctica de gestión de redes en un escenario de OpenStack formado por una instancia que funciona como router y otra máquina, conectada a una red interna, que cuenta con un servidor web.

Leer

Ejemplos de uso de comandos básicos en Debian

En esta entrada se recogen algunos ejercicios básicos que demuestran el uso de los comandos más usados en Debian y otras distribuciones GNU/Linux.

Leer

Guía básica de configuración de Nginx

En este post se recoge una guía básica del uso del servidor web Nginx a partir de un supuesto práctico.

Leer