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


Migliora gli appunti di Gnome Shell con Pano

Migliora gli appunti di Gnome Shell con Pano

Ammettiamolo, gli appunti predefiniti di Gnome Shell non sono molto buoni. Installa Pano per migliorare la tua esperienza con gli appunti!

Come installare DaVinci Resolve 17 su Linux

Come installare DaVinci Resolve 17 su Linux

Hai bisogno di un ottimo editor video non lineare per la tua macchina Linux? Fai funzionare Davinci Resolve 17 con questa guida!

Come scaricare sfondi sul desktop Linux con Wallpaper Downloader

Come scaricare sfondi sul desktop Linux con Wallpaper Downloader

Wallpaper Downloader è un ottimo downloader e gestore di sfondi per Linux. Supporta la maggior parte degli ambienti desktop Linux ed è molto facile da usare. Questa guida

Come installare Tuxedo OS sul tuo computer

Come installare Tuxedo OS sul tuo computer

Vuoi testare il sistema operativo Tuxedo sui computer Tuxedo? Scopri come far funzionare l'ultima versione di Tuxedo OS sul tuo PC.

Come installare un file DEB su Linux

Come installare un file DEB su Linux

.DEB numero opzione 1 Cosa ci fai? Scopri i molti modi in cui puoi installare i file DEB sul tuo PC Linux.

Come giocare a Dying Light su Linux

Come giocare a Dying Light su Linux

Dying Light è un videogioco survival horror del 2015 sviluppato da Techland e pubblicato da Warner Bros Interactive Entertainment. Il gioco è incentrato su

Come installare Neptune Linux sul tuo computer

Come installare Neptune Linux sul tuo computer

Neptune utilizza l'ambiente desktop KDE Plasma 5 e mira a fornire un sistema operativo elegante. Ecco come installare Neptune Linux sul tuo computer.

Prova il nuovo desktop basato su snap di Ubuntu

Prova il nuovo desktop basato su snap di Ubuntu

Vuoi provare il nuovo sistema operativo desktop basato su pacchetto snap di Ubuntu? Scopri come distribuirlo su una macchina virtuale con questa guida.

Come giocare a Undertale su Linux

Come giocare a Undertale su Linux

Undertale è un gioco di ruolo indipendente in 2D del 2015 sviluppato e pubblicato dallo sviluppatore di giochi Toby Fox. Questa guida coprirà il download e l'installazione di Undertale sul tuo

Come giocare a Total War: THREE KINGDOMS su Linux

Come giocare a Total War: THREE KINGDOMS su Linux

Total War: Three Kingdoms è un gioco RTS di strategia a turni sviluppato da Creative Assembly. Ecco come giocare su Linux.