Hoe u uw eigen Docker-image op Linux kunt bouwen

Heb je ooit je eigen Docker -image willen bouwen ? Het blijkt dat je dat kunt doen met iets dat een "Dockerfile" wordt genoemd. In deze handleiding bespreken we hoe u uw eigen Docker-image kunt bouwen.

Hoe Docker op Linux te installeren

U moet Docker op uw Linux-server hebben geïnstalleerd voordat u probeert een nieuwe afbeelding te maken. Gelukkig is docker eenvoudig te installeren op een breed scala aan Linux-besturingssystemen. In deze gids zullen we ons concentreren op Ubuntu, Debian , Arch Linux, Fedora en OpenSUSE .

Om Docker te installeren, opent u een terminal. Zodra het is geopend, is de installatie klaar om te beginnen. Volg de onderstaande installatie-instructies die overeenkomen met het Linux-besturingssysteem dat u gebruikt.

Ubuntu/Debian

U moet eerst de software-index op uw Ubuntu/Debian-systeem bijwerken. Om dat te doen, voert u de onderstaande apt update- opdracht uit.

sudo apt-update

U moet nu het HTTPS-transportpakket installeren om via HTTPS te installeren. Je moet ook Curl en een paar andere pakketten installeren. Deze pakketten kunnen worden geïnstalleerd met de opdracht apt install .

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

Nu de pakketten zijn geïnstalleerd, is het tijd om de Docker GPG-sleutel op uw Ubuntu/Debian-systeem in te schakelen. Deze sleutel zorgt ervoor dat het veilig is om pakketten op Ubuntu te installeren.

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

Met de GPG-sleutel ingeschakeld, is het tijd om de Docker-repo in te schakelen. Voer hiervoor het volgende echo- commando uit in een terminal.

echo "deb [arch=amd64 ondertekend door=/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

Wanneer u de Docker-opslagplaats hebt ingeschakeld, voert u de opdracht apt update opnieuw uit om de software-index te vernieuwen.

sudo apt-update

Ten slotte kunt u de Docker-pakketten die u nodig hebt op Ubuntu of Debian installeren.

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

Boog Linux

Als u Arch Linux gebruikt, kunt u eenvoudig de opdracht pacman -S uitvoeren en het "docker" -pakket installeren om Docker op uw systeem te laten werken.

sudo pacman -S koppelaar

Terwijl het Docker-pakket op uw Arch-systeem is geïnstalleerd, voert u de volgende systemctl- opdrachten uit om de software in te schakelen.

sudo systemctl docker inschakelen sudo systemctl start docker

Fedora

Docker aan Fedora laten werken is vrij eenvoudig. Gebruik om te beginnen de opdracht dnf install om de software op uw systeem te installeren.

sudo dnf installeer docker

Zodra het pakket op je Fedora-systeem is geïnstalleerd, schakel je het in met systemd.

sudo systemctl docker inschakelen sudo systemctl start docker

OpenSUSE

Om Docker op OpenSUSE te laten werken, moet u de Docker-repo toevoegen.

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

Vernieuw vervolgens Zypper en installeer de software.

sudo zypper vernieuwen

sudo zypper installeer docker-ce

Schakel ten slotte Docker op uw systeem in met systemd.

sudo systemctl docker inschakelen sudo systemctl start docker

Hoe u uw basisafbeelding kiest

Elke Docker-image uit DockerHub is gebouwd met een basisimage. U moet dus een basisafbeelding kiezen voor uw Docker-container. In deze handleiding gebruiken we Ubuntu, omdat het een van de meest compatibele Linux-besturingssystemen is.

In deze gids laten we u een voorbeeld zien van hoe u een Drupal 10-image kunt bouwen met Ubuntu 22.04. Deze bouwinstructies kunnen echter van toepassing zijn op alles wat u wilt maken, van web-apps tot Python-programma's, enz.

Open om te beginnen de Nano-teksteditor in een terminal. Je gaat Nano gebruiken om je eigen Dockerfile te maken.

nano -w ~/dockerfile

Voer in de Nano-teksteditor de volgende code in om aan te geven dat u Ubuntu wilt gebruiken. Geef het op om Ubuntu 22.04 te krijgen. Als u een andere versie van Ubuntu wilt gebruiken, vindt u hier informatie .

# Use the official Ubuntu base image
FROM ubuntu:22.04

Hoe de werkdirectory in te stellen

U moet een werkmap instellen in uw Docker-container. De werkmap is waar de toepassing wordt geïmplementeerd op Ubuntu in de container. In dit voorbeeld werken we met Drupal 10. Drupal is een webapplicatie, dus we moeten de WORKDIR instellen als /var/www/html/.

Druk in de Nano-teksteditor op Enter om een ​​spatie te maken. Plak vervolgens de volgende code.

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

Hoe de programma-afhankelijkheden te installeren

De toepassing die u in uw Docker-image implementeert, moet aan de afhankelijkheden voldoen. Als de juiste afhankelijkheden niet in de afbeelding zijn geïnstalleerd, werkt deze niet. We maken een Drupal 10-image op basis van Ubuntu 22.04, dus we moeten alle Drupal 10-afhankelijkheden aan het bestand toevoegen.

Druk in de Nano-teksteditor op Enter om een ​​spatie te maken. Plak vervolgens de volgende code.

# 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

Hoe de programmacode te kopiëren

De volgende stap in het proces is om uw Docker-bestand te voorzien van de programmacode. Opnieuw gebruiken we Drupal 10 als voorbeeld. We moeten de Dockerfile dus voorzien van de middelen om Drupal 10 te downloaden en uit te pakken.

Druk in de Nano-teksteditor op Enter om een ​​nieuwe regel te maken. Voeg vervolgens de volgende code toe zodat uw Dockerfile Drupal 10 kan downloaden.

# 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 .

Hoe poorten bloot te leggen

Elke keer dat u een Docker-container implementeert, krijgt deze toegang tot poorten. Als u bijvoorbeeld de standaard Syncthing-container uitvoert, wordt poort 8384 weergegeven. Nextcloud? Poort 8080 en 80. Uw container moet de juiste poorten vrijgeven om goed te kunnen werken.

Zoek eerst uit tot welke poorten het programma dat u implementeert toegang nodig heeft. In dit voorbeeld implementeren we Drupal 10. Aangezien Drupal 10 een CMS-systeem is voor een webserver, heeft het poort 80 nodig. Dus in het Nano-tekstbestand stellen we poort 80 bloot.

# Expose the Drupal port EXPOSE 80

Hoe de standaardopdracht in te stellen

U moet de standaardopdracht in uw Dockerfile instellen, zodat wanneer uw afbeelding wordt gebouwd en geïmplementeerd, deze automatisch begint met het uitvoeren van het programma. In ons voorbeeld willen we dat Drupal 10 onmiddellijk start zodra de container is geïmplementeerd, dus we moeten een startcommando toevoegen aan de Dockerfile.

Druk in de Nano-teksteditor op Enter om een ​​nieuwe ruimte in het bestand te maken. Plak vervolgens de volgende code.

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

Wanneer je dit laatste stukje code aan het bestand hebt toegevoegd, sla je het op door op Ctrl + O te drukken en sluit je de Nano-teksteditor af met Ctrl + X . De Dockerfile zou eruit moeten zien als de onderstaande code.

Let op: dit is een voorbeeld Dockerfile. U kunt het Drupal-voorbeeld gebruiken als referentie om uw eigen voorbeeld te maken voor elke gewenste toepassing.

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

Hoe de afbeelding te bouwen

Om uw nieuwe Docker-image te bouwen met de Dockerfile die u hebt gemaakt, voert u de volgende docker build- opdracht in.

sudo docker build -t mijn-docker-image .

Met de bovenstaande opdracht wordt uw Docker-image gebouwd.

Hoe de afbeelding te implementeren

Om uw nieuwe afbeelding in een container te implementeren, moet u de opdracht docker run gebruiken . Om bijvoorbeeld de nieuw gebouwde Drupal 10 Ubuntu-image op poort 80 uit te voeren, doet u het volgende.

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


Verbeter het Gnome Shell-klembord met Pano

Verbeter het Gnome Shell-klembord met Pano

Laten we eerlijk zijn, het standaard Gnome Shell-klembord is niet erg goed. Installeer Pano om uw klembordervaring te verbeteren!

Hoe DaVinci Resolve 17 op Linux te installeren

Hoe DaVinci Resolve 17 op Linux te installeren

Heb je een geweldige niet-lineaire video-editor nodig voor je Linux-box? Laat Davinci Resolve 17 werken met deze gids!

Achtergronden downloaden naar het Linux-bureaublad met Wallpaper Downloader

Achtergronden downloaden naar het Linux-bureaublad met Wallpaper Downloader

Wallpaper Downloader is een gelikte Linux wallpaper-downloader en -manager. Het ondersteunt de meeste Linux-desktopomgevingen en is zeer eenvoudig te gebruiken. Deze gids

Hoe Tuxedo OS op uw computer te installeren

Hoe Tuxedo OS op uw computer te installeren

Wilt u Tuxedo OS testen door Tuxedo-computers? Leer hoe u de nieuwste versie van Tuxedo OS op uw pc kunt laten werken.

Hoe een DEB-bestand op Linux te installeren

Hoe een DEB-bestand op Linux te installeren

Wat is een DEB-bestand? Wat doe je ermee? Leer de vele manieren waarop u DEB-bestanden op uw Linux-pc kunt installeren.

Hoe Dying Light op Linux te spelen

Hoe Dying Light op Linux te spelen

Dying Light is een survival-horror-videogame uit 2015, ontwikkeld door Techland en uitgegeven door Warner Bros Interactive Entertainment. Het spel draait om

Hoe Neptune Linux op uw computer te installeren

Hoe Neptune Linux op uw computer te installeren

Neptune gebruikt de KDE Plasma 5-desktopomgeving en streeft ernaar een elegant besturingssysteem te leveren. Hier leest u hoe u Neptune Linux op uw computer installeert.

Probeer Ubuntus nieuwe op snap gebaseerde desktop uit

Probeer Ubuntus nieuwe op snap gebaseerde desktop uit

Wilt u Ubuntu's nieuwe op snap-pakketten gebaseerde desktopbesturingssysteem uitproberen? Leer hoe u het op een virtuele machine implementeert met deze handleiding.

Hoe Undertale op Linux te spelen

Hoe Undertale op Linux te spelen

Undertale is een 2D indie-RPG uit 2015, ontwikkeld en uitgegeven door game-ontwikkelaar Toby Fox. Deze gids behandelt het downloaden en installeren van Undertale op uw

Hoe speel je Total War: THREE KINGDOMS op Linux

Hoe speel je Total War: THREE KINGDOMS op Linux

Total War: Three Kingdoms is een turn-based strategie-RTS-game ontwikkeld door Creative Assembly. Hier leest u hoe u op Linux kunt spelen.