Jak zbudować własny obraz Dockera w systemie Linux

Czy kiedykolwiek chciałeś zbudować własny obraz Dockera ? Jak się okazuje, z czymś, co nazywa się „plikiem Docker”, możesz. W tym przewodniku omówimy, jak zbudować własny obraz platformy Docker.

Jak zainstalować Dockera w systemie Linux

Zanim spróbujesz zbudować nowy obraz, musisz zainstalować Dockera na swoim serwerze Linux. Na szczęście docker jest łatwy do zainstalowania w wielu różnych systemach operacyjnych Linux. W tym przewodniku skupimy się na Ubuntu, Debianie , Arch Linux, Fedorze i OpenSUSE .

Aby zainstalować Dockera, otwórz terminal. Po otwarciu instalacja jest gotowa do rozpoczęcia. Postępuj zgodnie z instrukcjami instalacji przedstawionymi poniżej, które pasują do używanego systemu operacyjnego Linux.

Ubuntu/Debian

Najpierw musisz zaktualizować indeks oprogramowania w systemie Ubuntu/Debian. Aby to zrobić, uruchom poniższe polecenie apt update .

Sudo trafna aktualizacja

Musisz teraz zainstalować pakiet transportowy HTTPS, aby zainstalować przez HTTPS. Będziesz także musiał zainstalować Curl i kilka innych pakietów. Te pakiety można zainstalować za pomocą polecenia apt install .

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

Po zainstalowaniu pakietów nadszedł czas, aby włączyć klucz Docker GPG w systemie Ubuntu / Debian. Ten klucz gwarantuje, że instalowanie pakietów w systemie Ubuntu jest bezpieczne.

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

Po włączeniu klucza GPG nadszedł czas, aby włączyć repozytorium Docker. Aby to zrobić, wykonaj następujące polecenie echo w terminalu.

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

Po włączeniu repozytorium Docker ponownie uruchom polecenie apt update , aby odświeżyć indeks oprogramowania.

Sudo trafna aktualizacja

Na koniec możesz zainstalować potrzebne pakiety Docker na Ubuntu lub Debianie.

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

Arch Linuksa

Jeśli używasz Arch Linux, możesz po prostu uruchomić polecenie pacman -S i zainstalować pakiet „docker”, aby Docker działał w twoim systemie.

sudo pacman -S okno dokowane

Po zainstalowaniu pakietu Docker w systemie Arch uruchom następujące polecenia systemctl , aby włączyć oprogramowanie.

sudo systemctl włącz okno dokowane sudo systemctl uruchom okno dokowane

Fedora

Uruchomienie Dockera w Fedorze jest dość proste. Aby rozpocząć, użyj polecenia instalacji dnf , aby zainstalować oprogramowanie w systemie.

sudo dnf instalacja okna dokowanego

Po zainstalowaniu pakietu w systemie Fedora włącz go za pomocą systemd.

sudo systemctl włącz okno dokowane sudo systemctl uruchom okno dokowane

OpenSUSE

Aby Docker działał w OpenSUSE, musisz dodać repozytorium Docker.

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

Następnie odśwież Zyppera i zainstaluj oprogramowanie.

Sudo Zypper odśwież

sudo zypper zainstaluj docker-ce

Na koniec włącz Docker w swoim systemie za pomocą systemd.

sudo systemctl włącz okno dokowane sudo systemctl uruchom okno dokowane

Jak wybrać obraz bazowy

Każdy obraz Dockera pobrany z DockerHub jest zbudowany z obrazu podstawowego. Musisz więc wybrać obraz podstawowy dla swojego kontenera Docker. W tym przewodniku użyjemy Ubuntu, ponieważ jest to jeden z najbardziej kompatybilnych systemów operacyjnych Linux.

W tym przewodniku pokażemy przykład, jak zbudować obraz Drupal 10 z Ubuntu 22.04. Jednak te instrukcje kompilacji mogą dotyczyć wszystkiego, co chcesz stworzyć, od aplikacji internetowych po programy w Pythonie itp.

Aby rozpocząć, otwórz edytor tekstu Nano w terminalu. Będziesz używać Nano do tworzenia własnego pliku Docker.

nano -w ~/dockerfile

W edytorze tekstu Nano wprowadź następujący kod, aby określić, czy chcesz używać Ubuntu. Aby uzyskać Ubuntu 22.04, określ go. Jeśli chcesz użyć innej wersji Ubuntu, informacje znajdziesz tutaj .

# Use the official Ubuntu base image
FROM ubuntu:22.04

Jak skonfigurować katalog roboczy

Musisz skonfigurować katalog roboczy w kontenerze Docker. Katalog roboczy to miejsce, w którym aplikacja jest wdrażana w systemie Ubuntu w kontenerze. W tym przykładzie będziemy pracować z Drupalem 10. Drupal jest aplikacją internetową, więc musimy ustawić WORKDIR jako /var/www/html/.

W edytorze tekstu Nano naciśnij klawisz Enter , aby zrobić spację. Następnie wklej następujący kod.

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

Jak zainstalować zależności programu

Aplikacja wdrażana w obrazie platformy Docker musi mieć spełnione zależności. Jeśli poprawne zależności nie zostaną zainstalowane w obrazie, nie będzie działać. Tworzymy obraz Drupal 10 oparty na Ubuntu 22.04, więc musimy dodać wszystkie zależności Drupala 10 do pliku.

W edytorze tekstu Nano naciśnij klawisz Enter , aby zrobić spację. Następnie wklej następujący kod.

# 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

Jak skopiować kod programu

Następnym krokiem w procesie jest dostarczenie pliku Docker z kodem programu. Ponownie używamy Drupala 10 jako przykładu. Musimy więc zapewnić Dockerfile środki do pobrania i wyodrębnienia Drupala 10.

W edytorze tekstu Nano naciśnij klawisz Enter , aby utworzyć nowy wiersz. Następnie dodaj następujący kod, aby plik Dockerfile mógł pobrać Drupala 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 .

Jak odsłonić porty

Za każdym razem, gdy wdrażasz kontener Dockera, uzyskuje on dostęp do portów. Na przykład, jeśli uruchomisz domyślny kontener Syncthing, udostępni on port 8384. Nextcloud? Port 8080 i 80. Twój kontener musi udostępniać odpowiednie porty, aby działał prawidłowo.

Najpierw dowiedz się, do jakich portów program, który wdrażasz, potrzebuje dostępu. W tym przykładzie wdrażamy Drupal 10. Ponieważ Drupal 10 jest systemem CMS dla serwera WWW, potrzebuje portu 80. Tak więc w pliku tekstowym Nano udostępniamy port 80.

# Expose the Drupal port EXPOSE 80

Jak ustawić domyślne polecenie

Musisz ustawić domyślne polecenie w pliku Dockerfile, aby po zbudowaniu i wdrożeniu obrazu automatycznie rozpoczynał uruchamianie programu. W naszym przykładzie chcemy, aby Drupal 10 uruchamiał się natychmiast po wdrożeniu kontenera, dlatego musimy dodać polecenie uruchamiania do pliku Dockerfile.

W edytorze tekstu Nano naciśnij klawisz Enter , aby utworzyć nowe miejsce w pliku. Następnie wklej następujący kod.

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

Po dodaniu tego ostatniego fragmentu kodu do pliku zapisz go, naciskając Ctrl + O i wyjdź z edytora tekstu Nano za pomocą Ctrl + X . Plik Dockerfile powinien wyglądać jak poniższy kod.

Uwaga: to jest przykładowy plik Dockerfile. Możesz użyć przykładu Drupala jako odniesienia do stworzenia własnego dla dowolnej aplikacji.

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

Jak zbudować wizerunek

Aby skompilować nowy obraz platformy Docker za pomocą utworzonego pliku Dockerfile, wprowadź następujące polecenie kompilacji platformy Docker .

sudo docker build -t my-docker-image .

Powyższe polecenie zbuduje obraz Dockera.

Jak wdrożyć obraz

Aby wdrożyć nowy obraz w kontenerze, musisz użyć polecenia docker run . Na przykład, aby uruchomić nowo zbudowany obraz Ubuntu Drupal 10 na porcie 80, wykonaj następujące czynności.

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


Ulepsz schowek Gnome Shell za pomocą Pano

Ulepsz schowek Gnome Shell za pomocą Pano

Spójrzmy prawdzie w oczy, domyślny schowek Gnome Shell nie jest zbyt dobry. Zainstaluj Pano, aby ulepszyć korzystanie ze schowka!

Jak zainstalować DaVinci Resolve 17 w systemie Linux

Jak zainstalować DaVinci Resolve 17 w systemie Linux

Czy potrzebujesz świetnego nieliniowego edytora wideo dla swojego systemu Linux? Spraw, aby Davinci Resolve 17 działał z tym przewodnikiem!

Jak pobrać tapety na pulpit systemu Linux za pomocą programu do pobierania tapet

Jak pobrać tapety na pulpit systemu Linux za pomocą programu do pobierania tapet

Wallpaper Downloader to zręczny program do pobierania i zarządzania tapetami dla systemu Linux. Obsługuje większość środowisk graficznych Linux i jest bardzo łatwy w użyciu. Ten przewodnik

Jak zainstalować Tuxedo OS na swoim komputerze

Jak zainstalować Tuxedo OS na swoim komputerze

Chcesz przetestować Tuxedo OS na komputerach Tuxedo? Dowiedz się, jak zainstalować najnowszą wersję Tuxedo OS na swoim komputerze.

Jak zainstalować plik DEB w systemie Linux

Jak zainstalować plik DEB w systemie Linux

Czym jest plik DEB? Co ty z tym robisz? Poznaj wiele sposobów instalowania plików DEB na komputerze z systemem Linux.

Jak grać w Dying Light w systemie Linux

Jak grać w Dying Light w systemie Linux

Dying Light to gra wideo typu survival horror z 2015 roku opracowana przez Techland i wydana przez Warner Bros Interactive Entertainment. Gra koncentruje się na

Jak zainstalować Neptune Linux na swoim komputerze

Jak zainstalować Neptune Linux na swoim komputerze

Neptune używa środowiska graficznego KDE Plasma 5 i ma na celu dostarczenie eleganckiego systemu operacyjnego. Oto jak zainstalować Neptune Linux na swoim komputerze.

Wypróbuj nowy pulpit Ubuntu oparty na przystawkach

Wypróbuj nowy pulpit Ubuntu oparty na przystawkach

Chcesz wypróbować nowy system operacyjny Ubuntu oparty na pakietach Snap? Dowiedz się, jak wdrożyć go na maszynie wirtualnej, korzystając z tego przewodnika.

Jak grać w Undertale w systemie Linux

Jak grać w Undertale w systemie Linux

Undertale to niezależna gra RPG z 2015 roku, opracowana i opublikowana przez twórcę gier Toby'ego Foxa. Ten przewodnik obejmie pobieranie i instalowanie Undertale na twoim komputerze

Jak grać w Total War: THREE KINGDOMS w systemie Linux

Jak grać w Total War: THREE KINGDOMS w systemie Linux

Total War: Three Kingdoms to turowa gra strategiczna RTS opracowana przez Creative Assembly. Oto jak grać w systemie Linux.