Introducción

Docker es una plataforma abierta y robusta que los desarrolladores y administradores de sistemas pueden utilizar para crear, distribuir e implementar aplicaciones en contenedores en contenedores de software. Para aprovechar todo el potencial de Docker, el componente de cada aplicación debe implementarse en un contenedor único.

Ahora, cuando ejecuta aplicaciones de varios componentes, puede resultar abrumador permitir que todos los contenedores colaboren, se inicien o incluso se detengan.

Sin embargo, existe una herramienta que puede ayudarlo a organizar contenedores de manera fácil y sin problemas. La herramienta se llama así Docker Compose. Docker Compose es una gran herramienta que facilita la definición y ejecución de aplicaciones complejas basadas en contenedores utilizando un archivo YAML. La herramienta le permite ejecutar un solo comando para crear e iniciar todos los servicios de Docker a través de la configuración de YAML.

Esta guía le ayudará a instalar y configurar Docker Compose en su servidor Ubuntu 18.04.

¿Listo? ¡Vamos a empezar!

requisitos

Para que la instalación funcione correctamente, necesita lo siguiente:

  • Ubuntu 18.04 VPS o hosting de servidor dedicado
  • Docker instalado
  • Un usuario no root con permisos sudo

Paso 1: instalar Docker Compose

En este tutorial, estamos instalando Docker Compose desde el repositorio oficial de GitHub de Docker en lugar de los repositorios de Ubuntu. Esto se debe a que la aplicación Docker Compose del repositorio de GitHub es la última versión y es ideal para Ubuntu 18.04.

Ejecute el siguiente comando para instalar la última versión de Docker Compose:

$ sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

El comando anterior incluye el Marca que establece el archivo de salida primero en lugar de redirigir la salida. Esta sintaxis evita problemas de permisos cuando se ejecuta el comando con sudo.

Ahora ejecute el siguiente comando para ajustar los permisos:

$ sudo chmod +x /usr/local/bin/docker-compose

A continuación, ejecute el siguiente comando para verificar la versión:

$ sudo docker-compose --version

Esto le da el siguiente resultado:

docker-composeversion 1.21.2, builda133471

El resultado confirma que el proceso de instalación fue exitoso.

Paso 2: implementar un contenedor a través de Docker Compose

Para operar un contenedor, el Hola Mundo Imagen disponible con fines de prueba y demostración en Docker Hub; un registro público de Docker. La imagen nos ayuda a ilustrar la configuración de YAML necesaria para implementar un contenedor con Docker Compose.

Primero ejecute el siguiente comando para crear un nuevo directorio para el archivo, luego cambie a ese directorio:

$ sudo mkdir hello-world
$cd hello-world

A continuación, ejecute el siguiente comando para crear el archivo YAML:

$ sudo nano docker-compose.yml

Esto abrirá el archivo docker-compose.yml. Pegue el siguiente contenido en este archivo:

my-test:
 image: hello-world

La primera parte del contenido anterior establece la Nombre del contenedorMientras que la segunda parte especifica la imagen que se utilizará para crear un contenedor. Si no desea utilizar esta imagen, puede ejecutar el siguiente comando para verificar manualmente las imágenes disponibles en su sistema:

$ sudo docker images

Esto debería mostrarle una lista de las imágenes disponibles. Sin embargo, si no hay imágenes, obtendrá el siguiente resultado:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

Ahora ejecute el siguiente comando mientras está en el archivo ~ / hello-world:

$ sudo docker-compose up

Este comando busca una imagen local llamada Hola Mundo. Si esta imagen no está disponible, Docker Composer la obtiene de Docker Hub. En este caso, obtendrá el siguiente resultado:

Pullingmy-test(hello-world:latest)...
latest: Pullingfromlibrary/hello-world
c04b14da8d14: Downloading[==================================================>] c04b14da8d14: Extracting[==================================================>]  c04b14da8d14: Extracting[==================================================>]  c04b14da8d14: Pullcomplete
Digest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9
Status: Downloadednewerimagefor hello-world:latest
...

Tan pronto como se encuentra la imagen, Docker Compose genera un contenedor, lo vincula y proporciona el programa hello world.

Nota: Esto solo ocurre si la instalación funciona correctamente y se confirma con la salida de Redactar Docker::

  1. El cliente de Docker se ha comunicado con el demonio de Docker.
  2. Luego, el demonio obtuvo una imagen de «hola mundo» del Docker Hub.
  3. El demonio también ha generado un nuevo contenedor a partir de la imagen que implementa el ejecutable que proporcionará la salida que estamos leyendo.
  4. El demonio transfirió la salida al cliente de Docker, que la reenvía a la terminal.

Tan pronto como terminó el saludo, el contenedor de Docker se pausó. Esto se debe a que los contenedores de Docker se ejecutarán mientras el comando permanezca activo. Cuando revisa el proceso activo, el contenedor de hola mundo no aparece. Sin embargo, la salida muestra el encabezado de la columna:

$ sudo docker ps

Esto le da el siguiente resultado:

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES

Sin embargo, esto no nos impide ver la información del contenedor. Ejecute el siguiente comando para ver los detalles del contenedor:

$ sudo docker ps -a

Esto le da el siguiente resultado:

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
06069fd5ca23        hello-world         "/hello"            35 minutes ago      Exited (0) 35 minutes ago                       drunk_payne

Los detalles que se muestran en el resultado serán útiles cuando intente deshacerse del contenedor.

Paso 3: eliminar la imagen local

Este es un paso opcional y útil si necesita espacio de almacenamiento adicional. Aquí usamos el Docker rm Comando para eliminar contenedores que hacen referencia a la imagen. Primero, ejecute el siguiente comando para eliminar cualquier contenedor que haga referencia a la imagen:

$ sudo docker rm 06069fd5ca23

A continuación, ejecute el siguiente comando para eliminar la imagen:

$ sudo docker rmi hello-world

Conclusión

¡Eso es! Ha instalado y configurado correctamente Docker Compose en su sistema Ubuntu 18.04. También aprendió a probar la instalación y eliminar correctamente los contenedores de prueba y la imagen. ¡Espero que hayas disfrutado de todo el proceso!