FeaturedNOTICIAS

Cómo instalar Docker y Docker Compose en Linux – CloudSavvy IT


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 utilizar Docker en las plataformas Debian, Fedora, CentOS y Raspbian. Las derivadas de estas 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 la extensión apt administrador de paquetes para esta guía. Las instrucciones específicas para otras distribuciones están disponibles 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 le 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.

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 las 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

Luego, 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 Docker:

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

CentOS

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 Docker:

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

Usar Docker sin Sudo

El demonio de Docker se ejecuta como root. Los comandos de Docker generalmente deben anteponerse a los comandos sudo. Esto puede volverse aburrido si usa Docker con frecuencia. Agregándose al archivo docker grupo le permitirá utilizar Docker sin sudo.

sudo usermod -aG docker $USER

Una vez en el grupo, cierre la sesión y vuelva a iniciarla. Alternativamente, ejecute el archivo newgrp docker comando para acceder inmediatamente al grupo actualizado. Ahora deberías poder abandonar sudo de los comandos de Docker.

Prueba la instalación de Docker

Ahora que Docker está instalado, ¡es hora de probarlo! Puedes usar un mínimo hello-world Imagen.

docker run hello-world:latest

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

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

Administrar el servicio Docker

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

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

Puede administrar demonios como cualquier otro servicio en su sistema. Usar 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.

Agregar Docker-Compose

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

Vaya a la página de versiones de Docker Compose y anote el número de versión más reciente. En el momento de escribir este artículo, era 1.29.0.

Reemplaza la versión que ves en lugar de 1.29.0 en el siguiente comando. 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

Luego haz que el archivo sea ejecutable:

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

Ahora podrá utilizar el archivo docker-compose comando en su terminal. Intenta correr docker-compose --version verificar.

Crear un archivo Docker-Compose simple

Usar docker-compose necesitas crear un docker-compose.yml expediente. Describe los contenedores que componen la pila de aplicaciones. Puede especificar asociaciones de puertos, variables de entorno, redes y volúmenes utilizados por los contenedores.

Contenedores declarados en el mismo docker-compose.yml el archivo pasa automáticamente a formar parte de la misma pila. Están vinculados entre sí en una red Docker, por lo que pueden comunicarse entre sí utilizando su archivo. docker-compose.yml nombres de servicios como nombres de host.

Aquí hay uno simple docker-compose.yml 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 evitar que ambos utilicen docker-compose stop. Usar docker-compose down retire los contenedores.

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

Resumen

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

Una vez que esté en funcionamiento, puede escribir un archivo Dockerfile y use docker build -t my-app:latest . para construirlo. Así que usa 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 es necesario 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.

TE INTERESA>>  TikTok viral: tortuga camina 'rápidamente' y demuestra gran habilidad para cazar on food

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba