Cómo instalar Docker en Raspberry Pi 4

How Install Docker Raspberry Pi 4



En comparación con Raspberry Pi 3, Raspberry Pi 4 tiene mucha RAM (hay modelos de 2GB, 4GB y 8GB). Por lo tanto, Raspberry Pi 4 puede servir como una solución Docker de bajo costo para el desarrollo de aplicaciones y otras tareas. En este artículo, le mostraremos cómo instalar Docker en Raspberry Pi 4. Usamos la versión de 8GB de Raspberry Pi 4, pero también puede usar la versión de 2GB o la versión de 4GB.

Docker es un sistema de contenedorización para Linux que se utiliza para ejecutar contenedores Linux ligeros sobre un sistema operativo Linux (host Docker). Para instalar Docker en su Raspberry Pi 4, necesitará lo siguiente:







  1. Una computadora de placa única Raspberry Pi 4
  2. Una fuente de alimentación Raspberry Pi 4 Type-C.
  3. Una tarjeta microSD (al menos 32 GB) con la imagen del sistema operativo Raspberry Pi.
  4. Conectividad a Internet en la Raspberry Pi 4.
  5. Una computadora portátil o de escritorio para acceso de escritorio remoto VNC o acceso SSH a la Raspberry Pi 4.

Nota: Si no desea acceder a su Raspberry Pi 4 de forma remota a través de SSH o VNC, deberá conectar un monitor, un teclado y un mouse a su Raspberry Pi. No conectaremos ningún periférico a nuestra Raspberry Pi aquí, ya que nos conectamos a nuestra Raspberry Pi 4 de forma remota a través del protocolo de escritorio remoto VNC con la configuración de Raspberry Pi 4 sin cabeza.



Recursos adicionales: Para aprender cómo instalar el sistema operativo Raspberry Pi en su Raspberry Pi 4, vaya aquí: Cómo instalar el sistema operativo Raspberry Pi en Raspberry Pi 4 . Para aprender cómo flashear la imagen del sistema operativo Raspberry Pi en la tarjeta microSD. ve aquí: Cómo instalar y usar Raspberry Pi Imager. Para obtener más información sobre la configuración sin cabeza de Raspberry Pi 4, vaya aquí: Cómo instalar y configurar el sistema operativo Raspberry Pi en Raspberry Pi 4 sin monitor externo.



Actualización del sistema operativo Raspberry Pi

Antes de instalar Docker, debe actualizar todos los paquetes en su sistema operativo Raspberry Pi. Para hacerlo, primero actualice la caché del repositorio de paquetes APT con el siguiente comando:





$sudoactualización apta


Este comando debería actualizar la caché del repositorio de paquetes APT.


Para actualizar todos los paquetes en su sistema operativo Raspberry Pi, ejecute el siguiente comando:



$sudoactualización apta


Para confirmar la actualización, presione Y y luego .


El administrador de paquetes APT debería descargar todos los paquetes necesarios de Internet. Este paso puede tardar un poco en completarse.


Una vez que se descargan todos los paquetes necesarios, el administrador de paquetes de APT debe instalarlos uno por uno. Este paso también puede tardar un poco en completarse.


En este punto, se deben actualizar todos los paquetes existentes.


Para que los cambios surtan efecto, reinicie su Raspberry Pi 4 con el siguiente comando:

$sudoreiniciar

Instalación de Docker en Raspberry Pi OS

La instalación de Docker en una Raspberry Pi 4 con el sistema operativo Raspberry Pi es muy sencilla, ya que Docker ahora es compatible oficialmente con el sistema operativo Raspberry Pi.

Para instalar Docker en su sistema operativo Raspberry Pi, debe descargar el script de instalación de Docker en su Raspberry Pi 4. Puede descargar el script de instalación de Docker en su Raspberry Pi 4 con el siguiente comando:

$rizo-fsSLhttps://get.docker.com-oget-docker.sh


El script de instalación de Docker get-docker.sh debe descargarse a su directorio de trabajo actual.


Ejecute el script de instalación de Docker get-docker.sh como root con el siguiente comando:

$sudo intentoget-docker.sh


El script de instalación de Docker descargará e instalará todos los paquetes necesarios de Internet. Este paso puede tardar un poco en completarse.


En este punto, debe instalarse Docker.


Una vez que Docker esté instalado, agregue su usuario de inicio de sesión al estibador grupo con el siguiente comando:

$sudousermod-aGdocker $(quién soy)


Para que los cambios surtan efecto, reinicie su Raspberry Pi 4 con el siguiente comando:

$sudoreiniciar


Una vez que su Raspberry Pi 4 se inicie, ejecute el siguiente comando para verificar si la ventana acoplable está instalada:

$versión docker


Como puede ver, estoy ejecutando la versión 19.03.13 de Docker, que es la última versión de Docker disponible para el sistema operativo Raspberry Pi en el momento de escribir este artículo. Para cuando lea este artículo, el número de versión puede cambiar.

Instalación de Docker Compose en Raspberry Pi OS

Docker Compose es una herramienta para automatizar proyectos de Docker usando un archivo YAML.

Supongamos que desea realizar desarrollo web PHP con Docker. Para eso, necesita varios contenedores, como un servidor web (es decir, php ) contenedor y un servidor de base de datos (p. ej. mysql o mongo ) envase. Si usa RAW Docker, debe iniciar, detener y configurar estos contenedores por separado, lo que resultará problemático y llevará mucho tiempo. Por el contrario, si usa Docker Compose, puede administrar y configurar todos los contenedores usando un simple archivo YAML y comandos de Docker Compose.

Puede instalar Docker Compose utilizando el instalador del paquete pip de Python. Python pip debe estar preinstalado en su Raspberry Pi, pero si pip no está instalado, puede instalarlo desde el repositorio oficial de paquetes de Raspberry Pi OS con el siguiente comando:

$sudoaptoInstalar en pcpython3-pip-y


En nuestro caso, Python pip ya estaba instalado.


Una vez instalado Python pip, puede instalar Docker Compose con el siguiente comando:

$sudopip3Instalar en pcdocker-compose


En la siguiente imagen, se está instalando Docker Compose.


En la siguiente imagen, debería instalarse Docker Compose.


Una vez que Docker Compose esté instalado, verifique si puede acceder a él con el siguiente comando:

$versión docker-compose


Como puede ver, estamos usando la versión 1.27.4 de Docker Compose. Para cuando lea este artículo, es posible que tenga instalada una versión posterior de Docker Compose en su sistema operativo Raspberry Pi.

Uso de Docker en Raspberry Pi 4

En esta sección, le mostraremos cómo usar Docker en su Raspberry Pi 4. Si nunca ha usado Docker, esta sección le ayudará a comenzar.

Para ejecutar un contenedor de Docker, necesita una imagen de Docker en la que se basará el contenedor de Docker. Hay miles de contenedores de Docker disponibles en el registro de contenedores de Docker (Docker Hub). Puede buscar contenedores de Docker (por ejemplo, contenedor de servidor web Apache) de la siguiente manera:

$docker buscar apache


Se devolverán los contenedores de Docker que coincidan con la consulta de búsqueda.

El contenedor oficial del servidor web Apache se llama httpd , como se muestra en la captura de pantalla siguiente. Creemos un contenedor Docker basado en esa imagen.


Para crear e iniciar el contenedor de Docker del servidor web Apache utilizando el httpd Imagen de Docker, ejecute el siguiente comando:

$Docker ejecutar-D -pag 8080:80httpd

Nota: Aquí, -p 8080: 80 se utiliza para reenviar el puerto 80 de El httpd Contenedor Docker a babor 8080 en el host de Docker (Raspberry Pi 4).


los httpd La imagen de Docker debe descargarse de Internet (Docker Hub). Este paso puede tardar un poco en completarse.


En este punto, el Docker httpd La imagen del contenedor debería haberse descargado y debería haberse creado un nuevo contenedor Docker.


Si abre un navegador web en su Raspberry Pi 4 y visita http: // localhost: 8080, debería ver la siguiente página web que le indica que el contenedor del servidor web Apache se está ejecutando correctamente.


Puede enumerar todos los contenedores Docker en ejecución con el siguiente comando:

$contenedor dockerls

En la actualidad, solo tenemos un contenedor Docker en ejecución, es decir, el contenedor del servidor web Apache. El contenedor tiene el nombre awesome_grothendieck (generado aleatoriamente) y el ID c5d09470a9eb .


Los contenedores de Docker que crea obtienen un nombre generado aleatoriamente, pero puede nombrar un contenedor de Docker con el -nombre argumento de línea de comando. Por ejemplo, para crear otro httpd Contenedor de Docker con el nombre webserver2 , puede ejecutar el siguiente comando:

$Docker ejecutar-D -pag 8081:80 --nombreservidor web2 httpd


Al ingresar el comando anterior, un contenedor Docker llamado webserver2 debe ser creado.


Como puede ver, el contenedor Docker recién creado se llama webserver2 .

$contenedor dockerls


El servidor web que se ejecuta en el segundo contenedor. webserver2 también debe ser accesible en la URL http: // localhost: 8081.


Puede detener un contenedor Docker en ejecución con el nombre o el ID del contenedor en ejecución. Por ejemplo, para detener el contenedor Docker en ejecución webserver2 , ejecute el siguiente comando:

$Docker container stop webserver2


El contenedor Docker webserver2 debe detenerse.

$contenedor dockerls


Como puede ver, el servidor web que se estaba ejecutando en el webserver2 contenedor también se ha detenido.


Puede detener el contenedor c5d09470a9eb con el siguiente comando:

$tope de contenedor docker c5d09470a9eb


Como se muestra en la imagen siguiente, el contenedor Docker c5d09470a9eb ya no se está ejecutando.


La siguiente imagen muestra que el servidor web que se estaba ejecutando en el c5d09470a9eb El contenedor también se ha detenido.

Uso de Docker Compose en Raspberry Pi 4

En esta sección, le mostraremos cómo usar Docker Compose para administrar proyectos de Docker.

Primero, crea un nuevo directorio de proyecto ~ / servidor web como sigue:

$mkdir -v~/Servidor web


Navega al ~ / servidor web directorio de la siguiente manera:

$cd~/Servidor web


Crea un archivo nuevo docker-compose.yaml como sigue:

$nanodocker-compose.yaml


Ingrese el siguiente texto en el archivo docker-compose.yaml.

versión:'3.8'
servicios:
web:
imagen: httpd: último
reiniciar: siempre
volúmenes:
- ./www:/usr/local/apache2/htdocs
puertos:
-'8083:80'

Nota: Asegúrese de utilizar la sangría adecuada. La sangría es muy importante para los archivos YAML. Una sangría incorrecta resultará en errores de sintaxis.

Una vez que haya terminado, presione + X seguido de Y y para salvar el docker-compose.yaml expediente.


Aquí, en el servicios sección, tenemos una definición para el web Contenedor Docker.


En la línea 4, el Docker imagen que el web se debe definir el contenedor que usará. Aquí el imagen usar es httpd: último


En la línea 5, reiniciar: siempre se utiliza para reiniciar el contenedor web si se detiene inesperadamente.


Las líneas 6-7 se utilizan para montar el www/ directorio del directorio de su proyecto para / usr / local / apache2 / htdocs , es decir, la raíz web del contenedor.


Las líneas 8-9 se utilizan para reenviar el puerto. 80 del contenedor al puerto 8083 del host de Docker (Raspberry Pi 4).


Crea un directorio nuevo www/ en el directorio del proyecto de la siguiente manera:

$mkdir -vwww


Crea un archivo nuevo index.html en el www/ directorio de la siguiente manera:

$nanowww/index.html


Escriba el siguiente comando y presione + X seguido por Y y para guardar el archivo.


Puede iniciar el proyecto Docker Compose con el siguiente comando:

$docker-componer-D


El proyecto de Docker Compose debería estar en funcionamiento.


Como puede ver, se está ejecutando un contenedor de servidor web.

$docker-composeps


Si visita la URL http: // localhost: 8083 desde un navegador web, debería ver la siguiente página, lo que significa que el proyecto Docker Compose está funcionando.


Para detener el proyecto de Docker Compose (es decir, detener todos los contenedores del proyecto), ejecute el siguiente comando:

$docker-componer abajo


El proyecto de Docker Compose debería haberse detenido.


Como puede ver, no se están ejecutando contenedores.

$docker-composeps


Además, no se puede acceder al servidor web.

Conclusión

En este artículo, instalamos Docker y Docker Compose en Raspberry Pi 4. Además, usamos Docker y Docker Compose para crear contenedores Docker. Este artículo debería ayudarlo a comenzar con Docker y Docker Compose en Raspberry Pi 4.