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

Cómo instalar Docker y Docker Compose en Linux

Docker le brinda todo lo que necesita para crear y ejecutar contenedores en su sistema Linux. Los contenedores son similares a las máquinas virtuales ligeras. Le permiten crear imágenes de aplicaciones portátiles que se ejecutan utilizando el kernel del sistema operativo de su host.

Puede usar Docker en las plataformas Debian, Fedora, CentOS y Raspbian. Los derivados de esas distribuciones también funcionarán. Docker proporciona compilaciones x86/x64 y ARM para la mayoría de las plataformas compatibles. Estamos usando un sistema Debian con apt administrador de paquetes para esta guía. Las instrucciones específicas para otras distribuciones se pueden encontrar en los documentos de Docker.

Docker Compose le permite crear y ejecutar pilas de varios contenedores. Creas un archivo YAML que configura los contenedores de tu aplicación. Luego puede usar un solo comando para iniciar todos los contenedores y vincularlos. Compose lo ayuda a separar los componentes de su pila en servicios individuales en contenedores.

Compose se distribuye independientemente de Docker. Instale Docker antes de agregar Compose; de ​​lo contrario, Compose no podrá funcionar.

RELACIONADO: Cómo usar Docker para contener PHP y Apache

Instalar Docker

Puede usar el administrador de paquetes de su sistema operativo para instalar la última versión de Docker. Deberá agregar el repositorio de Docker, actualizar sus listas de paquetes y luego instalar Docker.

Debian/Ubuntu

Comience agregando las dependencias necesarias para el proceso de instalación:

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release

A continuación, agregue la clave GPG del repositorio de Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Agregue el repositorio a sus fuentes y actualice sus listas de paquetes:

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Ahora puede instalar Docker:

sudo apt-get install docker-ce docker-ce-cli containerd.io

Fedora

Agregue el repositorio de paquetes de Docker:

sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo

Instalar ventana acoplable:

sudo dnf install docker-ce docker-ce-cli containerd.io

Cent OS

Agregue el repositorio de paquetes de Docker:

sudo yum -y install yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo

Instalar ventana acoplable:

sudo yum install docker-ce docker-ce-cli containerd.io

Usando Docker sin Sudo

El demonio Docker se ejecuta como root . Por lo general, debe prefijar los comandos de Docker con sudo . Esto puede volverse tedioso si usa Docker con frecuencia. Agregarse a sí mismo a la docker group te permitirá usar Docker sin sudo .

sudo usermod -aG docker $USER

Una vez que esté en el grupo, cierre sesión y vuelva a iniciar sesión. Alternativamente, ejecute la ventana acoplable newgrp docker Comando para iniciar sesión inmediatamente en el grupo actualizado. Ahora debería poder soltar sudo desde los comandos de Docker.

Prueba de la instalación de Docker

Ahora que Docker está instalado, ¡es hora de probar que funciona! Puedes usar el mínimo hello-world imagen.

docker run hello-world:latest

Debería ver aparecer algunas líneas de salida en su terminal. Docker primero buscará el hello-world:latest imagen en su máquina. Como no existirá, la imagen se extraerá del repositorio de Docker Hub.

Una vez extraída la imagen, se creará un nuevo contenedor a partir de ella. El contenedor está configurado para emitir un mensaje básico de "hola mundo" y luego salir. Si ve el texto, ¡la instalación de Docker está funcionando!

Administración del servicio Docker

Puede verificar si Docker se está ejecutando inspeccionando su servicio con systemctl . Hay dos componentes a considerar, docker y containerd . docker es el demonio de Docker Engine al que la CLI envía comandos. containerd es el tiempo de ejecución subyacente que realmente ejecuta sus contenedores.

sudo systemctl status docker.service
sudo systemctl status containerd.service

Puede administrar los demonios como cualquier otro servicio en su sistema. Usa systemctl stop si desea detener temporalmente Docker y liberar los recursos del sistema utilizados por sus contenedores:

sudo systemctl stop docker.service

Puede reiniciar el servicio con systemctl start .

Agregando Docker-Compose

docker-compose es un binario separado que se descarga mejor directamente desde las versiones de GitHub del proyecto. Las distribuciones de Linux más populares incluyen Compose en sus administradores de paquetes, pero puede estar significativamente desactualizado.

Dirígete a la página de lanzamientos de Docker Compose y toma nota del último número de versión. En el momento de escribir este artículo, era 1.29.0 .

Sustituya la versión que ve en lugar de 1.29.0 en el comando de abajo. Esto descargará el binario correcto para su sistema y lo colocará en /usr/local/bin .

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

A continuación, haga que el archivo sea ejecutable:

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

Ahora podrá usar docker-compose comando en su terminal. Intente ejecutar docker-compose --version para comprobar.

Creación de un archivo simple de Docker-Compose

Para usar docker-compose debe crear un docker-compose.yml expediente. Esto describe los contenedores que componen la pila de su aplicación. Puede especificar enlaces de puertos, variables de entorno, redes y volúmenes que utilizan sus contenedores.

Contenedores declarados en el mismo docker-compose.yml El archivo se convierte automáticamente en parte de la misma pila. Están vinculados entre sí en una red Docker, por lo que pueden comunicarse entre sí mediante su docker-compose.yml nombres de servicio como nombres de host.

Aquí hay un docker-compose.yml simple para ejecutar un servidor web PHP y una base de datos MySQL:

version: "3"

services:
  app:
    image: php8.0-apache
    environment:
      - MYSQL_SERVER=mysql
      - MYSQL_USERNAME=root
      - MYSQL_PASSWORD=example
    ports:
      - ${PORT:-80}:80
    restart: unless-stopped
  mysql:
    image: mysql:8.0
    expose:
      - 3306
    environment:
      - MYSQL_ROOT_PASSWORD
    volumes:
      - mysql:/var/lib/mysql
    restart: unless-stopped

volumes:
  mysql:

Puede iniciar ambos servicios ejecutando docker-compose up -d . Verá que ambas imágenes se extraen de Docker Hub. A continuación, se iniciarán los contenedores. Puede detenerlos a ambos usando docker-compose stop . Usa docker-compose down para retirar los contenedores.

El archivo YAML de ejemplo muestra algunas características de Docker Compose. Los contenedores se definen en services nodo, con cada contenedor declarando su image de Docker . Puede pasar variables de entorno de shell a contenedores (environments ) y configurar los enlaces de puertos de Docker (ports ). Las variables de entorno se pueden interpolar en cadenas usando el ${VARIABLE:-DEFAULT} sintaxis. Si la variable no está configurada en su shell, DEFAULT se utilizará como el valor en su lugar. Puede obtener más información sobre Docker Compose en nuestra guía dedicada.

Resumen

Puede instalar Docker fácilmente utilizando los administradores de paquetes de distribuciones populares de Linux. Agregue el repositorio de Docker y luego instale docker-ce , docker-ce-cli y containerd.io . Estos componentes le brindan todo lo que necesita para crear y ejecutar sus contenedores.

Una vez que esté funcionando, puede escribir un Dockerfile y usa docker build -t my-app:latest . para construirlo Luego use docker run my-app:latest para iniciar su contenedor.

Docker-Compose es una capa de abstracción adicional que facilita la ejecución de una "pila" de varios contenedores. Con Compose, no necesita ejecutar manualmente varios comandos en serie. Puede escribir un archivo YAML declarativo y usar docker-compose up para iniciar todos sus contenedores al unísono.

RELACIONADO: ¿Qué es Docker Compose y cómo se usa?


Docker
  1. Cómo instalar Docker en el sistema Fedora Linux

  2. Cómo instalar y usar Docker en Ubuntu 18.04

  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

Cómo instalar Docker en Linux Mint 20

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 Docker Compose en Ubuntu

Cómo instalar Docker en Rocky Linux y AlmaLinux

Cómo instalar y usar Docker en Ubuntu 20.04