Come creare la tua immagine Docker su Linux

Hai mai desiderato creare la tua immagine Docker ? A quanto pare, con qualcosa chiamato "Dockerfile", puoi farlo. In questa guida, esamineremo come creare la tua immagine Docker.

Come installare Docker su Linux

Dovrai avere Docker installato sul tuo server Linux prima di tentare di creare una nuova immagine. Per fortuna, docker è facile da installare su un'ampia varietà di sistemi operativi Linux. In questa guida, ci concentreremo su Ubuntu, Debian , Arch Linux, Fedora e OpenSUSE .

Per installare Docker, apri un terminale. Una volta aperto, l'installazione è pronta per iniziare. Seguire le istruzioni di installazione descritte di seguito che corrispondono al sistema operativo Linux in uso.

Ubuntu/Debian

Dovrai prima aggiornare l'indice del software sul tuo sistema Ubuntu/Debian. Per fare ciò, esegui il comando apt update di seguito.

sudo apt aggiornamento

È ora necessario installare il pacchetto di trasporto HTTPS da installare su HTTPS. Dovrai anche installare Curl e alcuni altri pacchetti. Questi pacchetti possono essere installati con il comando apt install .

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

Con i pacchetti installati, è il momento di abilitare la chiave GPG Docker sul tuo sistema Ubuntu/Debian. Questa chiave garantisce che sia sicuro installare i pacchetti su Ubuntu.

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

Con la chiave GPG abilitata, è il momento di abilitare il repository Docker. Per fare ciò, esegui il seguente comando echo in un terminale.

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

Dopo aver abilitato il repository Docker, eseguire nuovamente il comando apt update per aggiornare l'indice del software.

sudo apt aggiornamento

Infine, puoi installare i pacchetti Docker di cui hai bisogno su Ubuntu o Debian.

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

ArcoLinux

Se usi Arch Linux, puoi semplicemente eseguire il comando pacman -S e installare il pacchetto "docker" per far funzionare Docker sul tuo sistema.

sudo pacman -S finestra mobile

Con il pacchetto Docker installato sul tuo sistema Arch, esegui i seguenti comandi systemctl per abilitare il software.

sudo systemctl abilita la finestra mobile sudo systemctl avvia la finestra mobile

Federa

Far funzionare Docker su Fedora è abbastanza semplice. Per iniziare, usa il comando dnf install per installare il software sul tuo sistema.

sudo dnf installa la finestra mobile

Una volta installato il pacchetto sul tuo sistema Fedora, abilitalo con systemd.

sudo systemctl abilita la finestra mobile sudo systemctl avvia la finestra mobile

ApriSUSE

Per far funzionare Docker su OpenSUSE, devi aggiungere il repository Docker.

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

Successivamente, aggiorna Zypper e installa il software.

aggiornamento sudo zypper

sudo zypper install docker-ce

Infine, abilita Docker sul tuo sistema con systemd.

sudo systemctl abilita la finestra mobile sudo systemctl avvia la finestra mobile

Come scegliere l'immagine di base

Ogni immagine Docker presa da DockerHub è creata con un'immagine di base. Quindi, dovrai scegliere un'immagine di base per il tuo contenitore Docker. In questa guida utilizzeremo Ubuntu, in quanto è uno dei sistemi operativi Linux più compatibili.

In questa guida, ti mostreremo un esempio di come creare un'immagine Drupal 10 con Ubuntu 22.04. Tuttavia, queste istruzioni di compilazione possono essere applicate a qualsiasi cosa desideri creare, dalle app Web ai programmi Python, ecc.

Per iniziare, apri l'editor di testo Nano in un terminale. Utilizzerai Nano per creare il tuo Dockerfile.

nano -w ~/dockerfile

All'interno dell'editor di testo Nano, inserisci il seguente codice per specificare che desideri utilizzare Ubuntu. Per ottenere Ubuntu 22.04, specificalo. Se desideri utilizzare una versione diversa di Ubuntu, le informazioni possono essere trovate qui .

# Use the official Ubuntu base image
FROM ubuntu:22.04

Come impostare la directory di lavoro

Devi impostare una directory di lavoro nel tuo contenitore Docker. La directory di lavoro è dove l'applicazione viene distribuita su Ubuntu nel contenitore. In questo esempio, lavoreremo con Drupal 10. Drupal è un'applicazione web, quindi dovremo impostare WORKDIR come /var/www/html/.

Nell'editor di testo Nano, premi il tasto Invio per creare uno spazio. Quindi, incolla il seguente codice.

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

Come installare le dipendenze del programma

L'applicazione che distribuisci nell'immagine Docker deve soddisfare le sue dipendenze. Se le dipendenze corrette non sono installate nell'immagine, non funzionerà. Stiamo creando un'immagine Drupal 10 basata su Ubuntu 22.04, quindi dobbiamo aggiungere tutte le dipendenze Drupal 10 al file.

Nell'editor di testo Nano, premi il tasto Invio per creare uno spazio. Quindi, incolla il seguente codice.

# 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

Come copiare il codice del programma

Il passaggio successivo del processo consiste nel fornire al file Docker il codice del programma. Ancora una volta, stiamo usando Drupal 10 come esempio. Quindi, dobbiamo fornire al Dockerfile i mezzi per scaricare ed estrarre Drupal 10.

Nell'editor di testo Nano, premi il tasto Invio per creare una nuova riga. Quindi, aggiungi il seguente codice in modo che il tuo Dockerfile possa scaricare 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 .

Come esporre le porte

Ogni volta che distribuisci un container Docker, accede alle porte. Ad esempio, se esegui il contenitore Syncthing predefinito, espone la porta 8384. Nextcloud? Porta 8080 e 80. Il tuo contenitore deve esporre le porte corrette per funzionare correttamente.

Innanzitutto, scopri a quali porte deve accedere il programma che stai distribuendo. In questo esempio, stiamo implementando Drupal 10. Poiché Drupal 10 è un sistema CMS per un server Web, ha bisogno della porta 80. Quindi, nel file di testo Nano, esponiamo la porta 80.

# Expose the Drupal port EXPOSE 80

Come impostare il comando predefinito

È necessario impostare il comando predefinito nel Dockerfile in modo che quando l'immagine viene creata e distribuita, inizi automaticamente a eseguire il programma. Nel nostro esempio, vogliamo che Drupal 10 si avvii immediatamente una volta distribuito il contenitore, quindi dobbiamo aggiungere un comando di avvio al Dockerfile.

Nell'editor di testo Nano, premi Invio per creare un nuovo spazio nel file. Quindi, incolla il seguente codice.

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

Quando hai aggiunto quest'ultimo bit di codice al file, salvalo premendo Ctrl + O e esci dall'editor di testo Nano con Ctrl + X . Il Dockerfile dovrebbe assomigliare al codice qui sotto.

Nota: questo è un Dockerfile di esempio. Puoi utilizzare l'esempio Drupal come riferimento per crearne uno tuo per qualsiasi applicazione desideri.

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"]

Come costruire l'immagine

Per creare la tua nuova immagine Docker con il Dockerfile che hai creato, immetti il ​​seguente comando docker build .

sudo docker build -t mia-docker-image .

Il comando sopra costruirà la tua immagine Docker.

Come distribuire l'immagine

Per distribuire la tua nuova immagine in un contenitore, devi utilizzare il comando docker run . Ad esempio, per eseguire l'immagine Drupal 10 Ubuntu appena creata sulla porta 80, procedere come segue.

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

Lascia un commento

Fix Screen Tearing on Intel Graphics in Pardus Linux: A Result-Focused Guide

Fix Screen Tearing on Intel Graphics in Pardus Linux: A Result-Focused Guide

Fix Intel graphics screen tearing in Pardus Linux by checking X11 vs. Wayland, compositor settings, refresh rate, active Xorg driver, and TearFree only when appropriate.

Come configurare il firewall di SLES 15 con firewall-cmd

Come configurare il firewall di SLES 15 con firewall-cmd

Configura firewalld su SLES 15: controlla le zone, consenti servizi o porte, salva le regole permanenti, ricarica in modo sicuro e verifica l'accesso.

Guida alla configurazione di SLES Live Patching: applicare gli aggiornamenti del kernel senza riavviare il sistema

Guida alla configurazione di SLES Live Patching: applicare gli aggiornamenti del kernel senza riavviare il sistema

Abilita l'applicazione di patch al kernel in tempo reale su SLES 15 SP7, applica le correzioni supportate senza riavviare, verifica le patch attive e scopri quando è comunque necessario riavviare il kernel.

Come abilitare la modalità FIPS su SUSE Linux Enterprise Server 15

Come abilitare la modalità FIPS su SUSE Linux Enterprise Server 15

Abilita la modalità FIPS su SLES 15 utilizzando l'utility di configurazione supportata da SUSE, riavvia in modo sicuro, verifica lo stato del kernel e delle policy crittografiche e controlla i limiti di certificazione.

Come installare Google Chrome su Gooroom OS senza violare le norme di sicurezza.

Come installare Google Chrome su Gooroom OS senza violare le norme di sicurezza.

Installa Google Chrome su Gooroom OS in modo sicuro con i pacchetti .deb ufficiali, APT, controlli delle policy, guida all'aggiornamento e correzioni per i dispositivi gestiti.

How to Export SLES System Logs to a Remote Syslog Server Securely

How to Export SLES System Logs to a Remote Syslog Server Securely

Securely forward SLES system logs to a remote syslog server with rsyslog, TLS certificates, peer-name verification, queues, validation, and testing.

Integrazione di Active Directory con SSSD in SLES 15: una guida passo passo

Integrazione di Active Directory con SSSD in SLES 15: una guida passo passo

Integra SLES 15 con Active Directory tramite SSSD utilizzando YaST. Prepara DNS e sincronizzazione oraria, configura gli accessi al dominio, verifica Kerberos e confronta SSSD, Winbind e realmd.

Fix Realtek RTL8821CE Wi-Fi Driver Issues on Pardus Linux

Fix Realtek RTL8821CE Wi-Fi Driver Issues on Pardus Linux

Fix RTL8821CE Wi-Fi on Pardus Linux by checking the built-in rtw88 driver, Realtek firmware, rfkill, NetworkManager, and safe fallback options.

Fix "Temporary Failure Resolving DNS" in Debian 12 with systemd-resolved

Fix "Temporary Failure Resolving DNS" in Debian 12 with systemd-resolved

Diagnose and fix Debian 12 DNS resolution failures with systemd-resolved, including resolv.conf, NetworkManager, networkd, cache, and verification.

Come installare Pardus Linux in dual boot insieme a Windows 11 in modo sicuro

Come installare Pardus Linux in dual boot insieme a Windows 11 in modo sicuro

Installa Pardus 25.2 accanto a Windows 11 eseguendo un backup, riducendo il volume di Windows, avviando da una chiavetta USB UEFI e proteggendo le partizioni EFI e di ripristino esistenti.