Ubuntu: instalar Docker Compose
Docker Compose es especialmente adecuado para entornos de desarrollo y de prueba, así como para pequeñas implementaciones de proyectos. Te explicamos cómo puedes orquestar fácilmente aplicaciones en Ubuntu con Docker Compose.
¿Cuáles son los requisitos para Docker Compose en Ubuntu?
Antes de poder utilizar Docker Compose, asegúrate de que tu sistema cumple con los siguientes requisitos:
- Docker Engine: Compose es una extensión de Docker Engine, la cual debes tener instalada.
- Sistema operativo: Ubuntu y un usuario sudo con privilegios de root.
Si quieres utilizar un sistema operativo alternativo a Linux, consulta nuestra guía sobre cómo instalar Docker Compose en Windows o cómo instalar Docker Compose en macOS.
Guía paso a paso: instalar Docker Compose en Ubuntu
Para utilizar Docker Compose en Ubuntu, primero debes instalar Docker Engine en tu sistema y comprobar que se está ejecutando correctamente. Una vez que Docker se está ejecutando, puedes descargar Compose y crear el archivo YAML para configurar tus aplicaciones.
Paso 1. Descargar e instalar Docker Compose
Descarga la última versión de Docker Compose del repositorio de GitHub oficial. Ejecuta el siguiente comando en tu terminal:
$ curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
shellA continuación, otorga permisos de ejecución a Docker Compose:
$ sudo chmod +x /usr/local/bin/docker-compose
shellLa opción --version
te permite comprobar si Compose se ha instalado correctamente.
$ docker-compose --version
shellObtendrás el siguiente resultado:
Si la instalación falla, debes comprobar la ruta.
También puedes crear un enlace simbólico hacia la ruta /usr/bin:
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
shellPaso 2. Configurar el archivo docker-compose.yml
Para mostrarte el diseño de un archivo YAML de Docker Compose, vamos a utilizar la imagen de Nginx del repositorio oficial de Docker Hub para el entorno de contenedores.
Primero, crea una nueva carpeta en tu directorio principal:
$ mkdir ~/compose-test
shellCambia al directorio que acabas de crear y crea una nueva carpeta para el directorio raíz de tu entorno de Nginx.
$ cd ~/compose-test
$ mkdir app
shellPuedes utilizar cualquier editor de texto para crear un index.html, por ejemplo, nano.
$ nano app/index.html
shellAquí tienes el código HTML de una página de ejemplo:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Docker Compose Test</title>
</head>
<body>
<h1>This is a Docker Compose Test Page for an Nginx container.</h1>
</body>
</html>
htmlGuarda y cierra el archivo HTML, y crea el archivo docker-compose.yml.
$ nano docker-compose.yml
shellEl contenido está dividido en dos partes: el número de versión de la configuración y el bloque de servicios.
version: '3.9'
services:
web:
image: nginx:alpine
ports:
- "8000:80"
volumes:
- ./app:/usr/share/nginx/html
YAMLEn el bloque de servicios, “web” aparece como el único servicio. A continuación, aparece la imagen de Nginx utilizada y la redirección de puertos. En nuestro caso, todas las solicitudes al puerto 8000 del host se redirigen al contenedor web en el puerto 80, donde se ejecuta Nginx. Además, utilizamos un volumen compartido entre el host y el contenedor. Así, la carpeta local “app” es accesible para la aplicación de Nginx.
Paso 3. Ejecutar Docker Compose
Con el comando que se muestra a continuación, creamos un contenedor web y ejecutamos el entorno del contenedor en segundo plano:
$ docker-compose up -d
shellSi la imagen que figura en el archivo YAML no está disponible en el sistema local, se descargará automáticamente.
Puedes introducir el comando ps
para comprobar si el entorno Nginx se está ejecutando correctamente.
$ docker-compose ps
shellLa página de ejemplo que creaste anteriormente ya está accesible en localhost:8000 si ejecutas la demo localmente en tu ordenador. Si utilizas un servidor remoto, simplemente introduce la dirección IP de tu servidor en lugar de “localhost”.
Con stop
puedes detener la aplicación del contenedor.
$ docker-compose stop
shellNuestro tutorial de Docker y nuestro resumen de los comandos de Docker pueden ayudarte a empezar a utilizar la herramienta de contenedores. También puedes obtener más información sobre la orquestación de contenedores Docker con Swarm y Compose