Cómo construir su propia imagen de Docker en Linux

¿ Alguna vez ha querido crear su propia imagen de Docker ? Resulta que, con algo llamado "Dockerfile", puede hacerlo. En esta guía, veremos cómo crear su propia imagen de Docker.

Cómo instalar Docker en Linux

Deberá tener Docker instalado en su servidor Linux antes de intentar crear una nueva imagen. Afortunadamente, Docker es fácil de instalar en una amplia variedad de sistemas operativos Linux. En esta guía, nos centraremos en Ubuntu, Debian , Arch Linux, Fedora y OpenSUSE .

Para instalar Docker, abre una terminal. Una vez que está abierto, la instalación está lista para comenzar. Siga las instrucciones de instalación que se describen a continuación que coincidan con el sistema operativo Linux que utiliza.

Ubuntu/Debian

Primero deberá actualizar el índice de software en su sistema Ubuntu/Debian. Para hacer eso, ejecute el comando de actualización apt a continuación.

sudo apt actualizar

Ahora debe instalar el paquete de transporte HTTPS para instalar a través de HTTPS. También deberá instalar Curl y algunos otros paquetes. Estos paquetes se pueden instalar con el comando apt install .

sudo apt install apt-transport-https ca-certificates curl software-properties-common

Con los paquetes instalados, es hora de habilitar la clave Docker GPG en su sistema Ubuntu/Debian. Esta clave garantiza que sea seguro instalar paquetes en Ubuntu.

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

Con la clave GPG habilitada, es hora de habilitar el repositorio de Docker. Para hacer esto, ejecute el siguiente comando de eco en una terminal.

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

Cuando haya habilitado el repositorio de Docker, vuelva a ejecutar el comando de actualización apt para actualizar el índice de software.

sudo apt actualizar

Finalmente, puede instalar los paquetes de Docker que necesita en Ubuntu o Debian.

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

arco linux

Si usa Arch Linux, simplemente puede ejecutar el comando pacman -S e instalar el paquete "docker" para que Docker funcione en su sistema.

sudo pacman -S ventana acoplable

Con el paquete Docker instalado en su sistema Arch, ejecute los siguientes comandos systemctl para habilitar el software.

sudo systemctl habilita la ventana acoplable sudo systemctl inicia la ventana acoplable

Fedora

Hacer que Docker funcione en Fedora es bastante sencillo. Para comenzar, use el comando dnf install para instalar el software en su sistema.

sudo dnf instalar ventana acoplable

Una vez que el paquete esté instalado en su sistema Fedora, actívelo con systemd.

sudo systemctl habilita la ventana acoplable sudo systemctl inicia la ventana acoplable

abrirSUSE

Para que Docker funcione en OpenSUSE, debe agregar el repositorio de Docker.

sudo zypper addrepo https://download.docker.com/linux/opensuse/$(awk -F= '/^VERSION_ID/{print $2}' /etc/os-release)/x86_64/stable docker

A continuación, actualice Zypper e instale el software.

actualizar sudo zypper

sudo zypper install docker-ce

Finalmente, habilite Docker en su sistema con systemd.

sudo systemctl habilita la ventana acoplable sudo systemctl inicia la ventana acoplable

Cómo elegir tu imagen base

Cada imagen de Docker tomada de DockerHub se crea con una imagen base. Por lo tanto, deberá elegir una imagen base para su contenedor Docker. En esta guía, usaremos Ubuntu, ya que es uno de los sistemas operativos Linux más compatibles.

En esta guía, le mostraremos un ejemplo de cómo crear una imagen de Drupal 10 con Ubuntu 22.04. Sin embargo, estas instrucciones de compilación se pueden aplicar a cualquier cosa que desee crear, desde aplicaciones web hasta programas de Python, etc.

Para comenzar, abra el editor de texto Nano en una terminal. Usarás Nano para crear tu propio Dockerfile.

nano -w ~/dockerfile

Dentro del editor de texto Nano, ingrese el siguiente código para especificar que desea usar Ubuntu. Para obtener Ubuntu 22.04, especifíquelo. Si desea utilizar una versión diferente de Ubuntu, puede encontrar información aquí .

# Use the official Ubuntu base image
FROM ubuntu:22.04

Cómo configurar el directorio de trabajo

Debe configurar un directorio de trabajo en su contenedor Docker. El directorio de trabajo es donde se implementa la aplicación en Ubuntu en el contenedor. En este ejemplo, trabajaremos con Drupal 10. Drupal es una aplicación web, por lo que necesitaremos configurar WORKDIR como /var/www/html/.

En el editor de texto Nano, presione la tecla Intro para hacer un espacio. Luego, pegue el siguiente código.

# Set the working directory in the container WORKDIR /var/www/html

Cómo instalar las dependencias del programa

La aplicación que implementa en su imagen de Docker debe cumplir con sus dependencias. Si no se instalan las dependencias correctas en la imagen, no funcionará. Estamos creando una imagen de Drupal 10 basada en Ubuntu 22.04, por lo que debemos agregar todas las dependencias de Drupal 10 al archivo.

En el editor de texto Nano, presione la tecla Intro para hacer un espacio. Luego, pegue el siguiente código.

# Install dependencies RUN apt-get update && apt-get install -y \ apache2 \ php \ libapache2-mod-php \ php-curl \ php-gd \ php-intl \ php-mbstring \ php-mysql \ php-pgsql \ php-xml \ php-zip \ unzip

Cómo copiar el código del programa

El siguiente paso en el proceso es proporcionar su archivo Docker con el código del programa. Una vez más, estamos usando Drupal 10 como ejemplo. Por lo tanto, debemos proporcionar al Dockerfile los medios para descargar y extraer Drupal 10.

En el editor de texto Nano, presione la tecla Intro para crear una nueva línea. Luego, agregue el siguiente código para que su Dockerfile pueda descargar Drupal 10.

# Download and install Drupal RUN wget https://ftp.drupal.org/files/projects/drupal-10.2.tar.gz && \ tar -xvf drupal-10.2.tar.gz && \ mv drupal-10.2 .

Cómo exponer los puertos

Cada vez que implementa un contenedor Docker, accede a los puertos. Por ejemplo, si ejecuta el contenedor Syncthing predeterminado, expone el puerto 8384. ¿Nextcloud? Puerto 8080 y 80. Su contenedor necesita exponer los puertos correctos para que funcione correctamente.

Primero, averigüe a qué puertos necesita acceder el programa que está implementando. En este ejemplo, estamos implementando Drupal 10. Como Drupal 10 es un sistema CMS para un servidor web, necesita el puerto 80. Entonces, en el archivo de texto Nano, exponemos el puerto 80.

# Expose the Drupal port EXPOSE 80

Cómo configurar el comando predeterminado

Debe configurar el comando predeterminado en su Dockerfile para que cuando su imagen se cree e implemente, automáticamente comience a ejecutar el programa. En nuestro ejemplo, queremos que Drupal 10 se inicie instantáneamente una vez que se implemente el contenedor, por lo que debemos agregar un comando de inicio al Dockerfile.

En el editor de texto Nano, presione Entrar para crear un nuevo espacio en el archivo. Luego, pegue el siguiente código.

# Start Apache in the foreground CMD ["apache2ctl", "-D", "FOREGROUND"]

Cuando haya agregado este último código al archivo, guárdelo presionando Ctrl + O y salga del editor de texto Nano con Ctrl + X. El Dockerfile debería verse como el siguiente código.

Nota: este es un Dockerfile de ejemplo. Puede usar el ejemplo de Drupal como referencia para crear el suyo propio para cualquier aplicación que desee.

FROM ubuntu:22.04

# Set the working directory
WORKDIR /var/www/html

# Install dependencies
RUN apt-get update && apt-get install -y \
apache2 \
php \
libapache2-mod-php \
php-curl \
php-gd \
php-intl \
php-mbstring \
php-mysql \
php-pgsql \
php-xml \
php-zip \
unzip


# Download and install Drupal
RUN wget https://ftp.drupal.org/files/projects/drupal-10.2.tar.gz && \
tar -xvf drupal-10.2.tar.gz && \
mv drupal-10.2 .


# Expose the Drupal port
EXPOSE 80

# Start Apache in the foreground
CMD ["apache2ctl", "-D", "FOREGROUND"]

Cómo construir la imagen

Para compilar su nueva imagen de Docker con el Dockerfile que creó, ingrese el siguiente comando de compilación de docker .

sudo docker build -t my-docker-image .

El comando anterior construirá su imagen de Docker.

Cómo implementar la imagen

Para implementar su nueva imagen en un contenedor, debe usar el comando de ejecución de la ventana acoplable . Por ejemplo, para ejecutar la imagen de Ubuntu de Drupal 10 recién creada en el puerto 80, haga lo siguiente.

sudo docker run -d --name my-drupal-container -p 80:80 my-docker-image


Mejora el portapapeles de Gnome Shell con Pano

Mejora el portapapeles de Gnome Shell con Pano

Seamos realistas, el portapapeles predeterminado de Gnome Shell no es muy bueno. ¡Instala Pano para mejorar tu experiencia con el portapapeles!

Cómo instalar DaVinci Resolve 17 en Linux

Cómo instalar DaVinci Resolve 17 en Linux

¿Necesita un excelente editor de video no lineal para su caja de Linux? ¡Haz que Davinci Resolve 17 funcione con esta guía!

Cómo descargar fondos de pantalla al escritorio de Linux con Wallpaper Downloader

Cómo descargar fondos de pantalla al escritorio de Linux con Wallpaper Downloader

Wallpaper Downloader es un descargador y administrador de fondos de pantalla de Linux. Es compatible con la mayoría de los entornos de escritorio de Linux y es muy fácil de usar. esta guía

Cómo instalar Tuxedo OS en tu computadora

Cómo instalar Tuxedo OS en tu computadora

¿Quiere probar el sistema operativo Tuxedo de las computadoras Tuxedo? Aprenda cómo hacer que la última versión de Tuxedo OS funcione en su PC.

Cómo instalar un archivo DEB en Linux

Cómo instalar un archivo DEB en Linux

¿Qué es un archivo DEB? Qué haces con eso? Conozca las muchas formas en que puede instalar archivos DEB en su PC con Linux.

Cómo jugar Dying Light en Linux

Cómo jugar Dying Light en Linux

Dying Light es un videojuego de terror y supervivencia de 2015 desarrollado por Techland y publicado por Warner Bros Interactive Entertainment. El juego se centra en

Cómo instalar Neptune Linux en tu computadora

Cómo instalar Neptune Linux en tu computadora

Neptune utiliza el entorno de escritorio KDE Plasma 5 y tiene como objetivo ofrecer un sistema operativo elegante. Aquí se explica cómo instalar Neptune Linux en su computadora.

Pruebe el nuevo escritorio basado en Snap de Ubuntu

Pruebe el nuevo escritorio basado en Snap de Ubuntu

¿Quiere probar el nuevo sistema operativo de escritorio basado en paquetes instantáneos de Ubuntu? Aprenda a implementarlo en una máquina virtual con esta guía.

Cómo jugar Undertale en Linux

Cómo jugar Undertale en Linux

Undertale es un juego de rol independiente en 2D de 2015 desarrollado y publicado por el desarrollador de juegos Toby Fox. Esta guía cubrirá la descarga e instalación de Undertale en su

Cómo jugar Total War: THREE KINGDOMS en Linux

Cómo jugar Total War: THREE KINGDOMS en Linux

Total War: Three Kingdoms es un juego de estrategia en tiempo real por turnos desarrollado por Creative Assembly. Así es como se juega en Linux.