José Juan Sánchez Hernández

Aprender Docker, un enfoque práctico


Скачать книгу

target="_blank" rel="nofollow" href="#fb3_img_img_7046bc47-1cf9-5b3f-9e30-1adcc75de15a.png" alt="Illustration"/>

      En el siguiente paso, vamos a añadir el repositorio oficial de Docker a la lista de repositorios de nuestro sistema. Para hacer esto, crearemos un archivo llamado docker.list dentro del directorio /etc/apt/sources.list.d. Y, dentro de este archivo, añadiremos los datos del repositorio oficial de Docker, para que podamos instalar sus paquetes con la utilidad apt.

      Utilizaremos el comando lsb_release -cs, para obtener el nombre de la distribución que estamos utilizando y poder configurar el repositorio correctamente para esta distribución. Como este ejemplo lo estamos realizando con la versión 20.04 LTS de Ubuntu Server, el nombre de la distribución que obtendremos será focal. Tenga en cuenta que este nombre cambiará dependiendo de la versión que esté utilizando.

      Otro detalle importante es que debemos indicar cuál es el canal de actualización que vamos a utilizar. Docker Engine tiene tres tipos de canales:

      Illustration stable: en este canal, se encuentran las versiones definitivas disponibles para su uso. El software se encuentra en la etapa GA (General Availability) del ciclo de vida del lanzamiento del software.

      Illustration test: en este canal, se hallan las versiones que están en una fase previa a la etapa GA (General Availability) y se encuentran preparadas para ser testeadas.

      Illustration nightly: en este canal, se sitúan las versiones que todavía no han sido liberadas y están en fase de desarrollo. Dichas versiones se crean diariamente con el estado de la rama principal del repositorio.

      En nuestra instalación, seleccionaremos el canal stable:

Illustration

      Después de la ejecución del comando anterior, el archivo docker.list tendrá el siguiente contenido:

Illustration

      En este caso, podemos ver cómo el repositorio se ha configurado para una arquitectura de tipo amd64, para la distribución focal de Ubuntu y el canal stable.

      Una vez que hemos añadido el repositorio oficial de Docker, tenemos que volver a actualizar la lista de paquetes de nuestro sistema:

Illustration

      Ahora tenemos todo preparado para realizar la instalación de Docker Engine. Lo mínimo que necesitamos para tener instalado Docker Engine en una máquina Linux son estos dos paquetes:

      Illustration docker-ce: contiene la versión Community de Docker Engine.

      Illustration containerd.io: es el container runtime que usa Docker Engine.

      De forma opcional, también podemos instalar el cliente oficial Docker CLI, que nos va a permitir interactuar con el servicio Docker daemon de Docker Engine:

      Illustration docker-ce-cli: contiene la versión Community de Docker CLI.

      Aunque lo más habitual es instalar el cliente y servicio Docker daemon en la misma máquina, tenga en cuenta que los puede tener en máquinas separadas.

      En nuestro caso, vamos a instalar Docker CLI y Docker Engine en la misma máquina, que será la opción más común:

Illustration

      En la página web oficial de Docker, puede encontrar más detalles sobre cómo realizar la instalación de Docker Engine en Ubuntu:

Illustration

      Vamos a comprobar que la instalación se ha realizado de forma correcta ejecutando un comando que nos muestra información del cliente y del servicio Docker daemon.

      Observe que vamos a ejecutar el comando como superusuario escribiendo sudo antes del comando docker version. Ahora explicaremos por qué lo hacemos:

Illustration

      Al ejecutar este comando, obtendremos una salida similar a esta:

Illustration

      1. Indica la versión del cliente Docker CLI.

      2. Indica la versión de la API de Docker Engine que utiliza el cliente.

      3. Indica la versión de Go que está utilizando el cliente.

      4. Indica los siete primeros caracteres del hash SHA del commit que se ha utilizado para hacer la release de esta versión del cliente.

      5. Indica la fecha de la release de esta versión del cliente.

      6. Indica el sistema operativo y la arquitectura donde se está ejecutando el cliente.

      7. Indica el contexto que está activo y está siendo utilizado por el cliente. Un mismo cliente puede tener configurados diferentes contextos para administrar clusters Swarm, clusters Kubernetes o nodos independientes con Docker Engine.

      8. Indica que el cliente tiene activadas las características experimentales que todavía se encuentran en fase de testing.

      9. Indica la versión de Docker Engine.

      10. Indica la versión de la API de Docker Engine que utiliza el servidor y cuál es la mínima versión con la que puede comunicarse.

      11. Indica la versión de Go que está utilizando el servidor.

      12. Indica los siete primeros caracteres del hash SHA del commit que se ha utilizado para hacer la release de esta versión del servidor.

      13. Indica la fecha de la release de esta versión del servidor.

      14. Indica el sistema operativo y la arquitectura donde se está ejecutando el servidor.

      15. Indica que el servidor tiene desactivadas las características experimentales de Docker Engine.

      16. Indica la versión de containerd y el hash SHA del commit que se está utilizando.

      17. Indica la versión de runc y el hash SHA del commit que se está utilizando.

      18. Indica la versión de docker-init y el hash SHA del commit que se está utilizando.

      Si obtenemos una salida similar a la anterior, es que la instalación se ha realizado de forma correcta.

      Ahora vamos a ejecutar el mismo comando, pero sin utilizar sudo: