GNU/Linux >> Tutoriales Linux >  >> Panels >> Docker

Cómo instalar y usar Docker Compose en CentOS

Docker Compose es un programa simple de Python que ayuda a implementar fácilmente varios contenedores acoplables en un servidor.

Utiliza un archivo YAML simple para la descripción del servicio.

En lugar del largo docker run . . . líneas, puede usar docker-compose up -d para implementar múltiples servicios a la vez.

En este tutorial, le mostraré cómo instalar Docker Compose en el servidor CentOS. También le mostraré un ejemplo rápido del uso de Docker Compose para implementar un servidor NGINX con una configuración específica.

Instalando docker-compose en CentOS

Necesita Docker instalado de antemano. Asegúrese de instalar Docker en su sistema CentOS antes de instalar Docker Compose.

docker-compose no está empaquetado en los repositorios oficiales de CentOS ni en el repositorio rpm de docker.

Hay dos formas de instalar Docker Compose en Linux:

  • Descargue los archivos de instalación de Docker Compose Linux y configúrelo manualmente
  • Use PIP para instalar Docker Compose fácilmente

Personalmente, prefiero usar PIP para instalar Docker Compose. Dado que Docker Compose es básicamente una aplicación de Python, tiene sentido usar PIP para instalarlo.

Veamos cómo hacerlo.

Instalar pip3

Instale pip3 usando el siguiente comando:

sudo dnf install python3-pip

Instalar docker-compose usando pip3

Usa pip para instalar docker-compose

pip3 install --user docker-compose

Actualizar RUTA

pip instala docker-compose en ~/.local/bin directorio. Deberá agregarlo a la variable de entorno PATH para poder ejecutarlo desde cualquier lugar:

echo 'PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc

Si estás usando zsh , cambie .bashrc a .zshrc .

Una vez que haya terminado, use el comando fuente source ~/.bashrc o vuelva a abrir la terminal (cierre sesión y vuelva a iniciar sesión si es un servidor).

Confirme que docker-compose está instalado usando el siguiente comando:

[email protected]:~$ docker-compose --version
docker-compose version 1.26.2, build unknown

¡Felicidades! Ahora tiene docker-compose instalado en su servidor CentOS 8.

¿Quieres probarlo? Siga este sencillo tutorial y aprenda a usar Docker Compose.

Implemente un servidor nginx de muestra usando docker-compose

Nginx es uno de los servidores web más populares, se implementa fácilmente a través de Docker.

Comparemos la forma de redacción y la forma sin redacción

Implementar Nginx sin Docker Compose

Puedes usar run comando para implementar fácilmente un servidor nginx como este:

docker run --name server --network net -v html:/usr/share/nginx/html -v $PWD/custom-config.conf:/etc/nginx/nginx.conf -p 80:80 --restart on-failure -d nginx:latest

Aquí, implementó un servidor nginx, con un nombre de contenedor "servidor", usando una red externa "red", montó un volumen llamado "html", usando un archivo de configuración personalizado y escuchando en el puerto 80 en el host, que reiniciar automáticamente en caso de falla.

Repasemos los problemas aquí:

Tendrás que crear las redes y los volúmenes de antemano

Docker no creará automáticamente la red y el volumen. Tendrás que crearlos de antemano.

Demasiadas opciones para escribir cada vez

Hay demasiadas opciones para escribir. Si se trata de un contenedor más complicado, como un contenedor de base de datos, un contenedor de proxy inverso o un contenedor de nextcloud, estas opciones aumentarán.

Entorno de desarrollo

¿Qué sucede si está probando su compilación y no desea conservar el volumen después de detener el contenedor? Tendrá que eliminar manualmente el volumen y la red después.

Implementar Nginx con Docker Compose

Primero, tendrás que crear un archivo de redacción.

Cree un directorio llamado "nginx-compose" y cd en él:

mkdir nginx-compose && cd nginx-compose

Cree un archivo llamado "docker-compose.yml" y agregue las siguientes líneas

version: "3.3"

services:
    server:
        image : "nginx:latest"
        container_name: "server"
        volumes:
            - "html:/usr/share/nginx/html"
            - "./custom-config.conf:/etc/nginx/nginx.conf"
        networks:
            - "net"
        ports:
            - "80:80"
        restart: "on-failure"

volumes:
    html:
networks:
    net:

Este archivo de composición describe un servicio llamado server , eso implementará un servidor nginx con exactamente las mismas configuraciones que hicimos en la forma sin composición. Implementarlo usando:

docker-compose up -d

docker-compose buscará en el directorio actual un archivo llamado "docker-compose.yml", lo analizará e implementará los servicios definidos en él.

Repasemos los problemas del método sin composición ahora con el método de composición:

  1. No es necesario crear las redes y los volúmenes de antemano, docker-compose lo hace por usted. Puede agregar volúmenes externos estableciendo externo en verdadero en cada volumen/red.
  2. Una vez que haya escrito el archivo .yaml, ya no tendrá que escribir comandos masivos. Puede copiar este archivo a cualquier otro servidor que tenga instalada una versión reciente de docker-compose y se ejecutará como se esperaba con facilidad.
  3. Puede usar docker-compose down -v comando para detener y eliminar no solo los contenedores, sino también todas las redes y volúmenes que creó docker-compose. Esto ayuda a limpiar en un entorno de desarrollo/prueba.

Hay muchos otros beneficios al usar docker-compose sobre docker run , especialmente en la producción, que está fuera del alcance del artículo de hoy.

Si quieres ver algo así, házmelo saber en la sección de comentarios a continuación. Esté atento a nuestra serie docker para obtener más guías como estas.


Docker
  1. Cómo instalar y usar TensorFlow en CentOS 7

  2. Cómo instalar Docker Compose en CentOS 7

  3. Cómo instalar y usar Docker Compose en Ubuntu 18.04

  4. Cómo instalar y usar Docker en CentOS 7

  5. Cómo instalar y usar Docker Compose en CentOS 7

Cómo instalar Docker Compose en CentOS 7

Cómo instalar y usar Docker Compose en Ubuntu 20.04

Cómo instalar y usar Docker Compose en Ubuntu 22.04

Cómo instalar y usar Docker en Ubuntu 22.04

Cómo instalar y usar Docker Compose en Debian 11

Cómo instalar y usar Docker en CentOS 8