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

Leave a Comment

Jak zainstalować BlackArch Linux

Jak zainstalować BlackArch Linux

BlackArch Linux to dystrybucja bezpieczeństwa i testów penetracyjnych oparta na Arch Linux. Zainstaluj BlackArch Linux w swoim systemie.

Jak zainstalować czytnik Foxit w systemie Linux

Jak zainstalować czytnik Foxit w systemie Linux

Foxit Reader to bezpłatne oprogramowanie PDF dla systemów Linux, Mac i Windows. Jest to oprogramowanie typu open source. Dowiedz się, jak zainstalować go w systemie Linux.

Jak grać w VRChat w systemie Linux

Jak grać w VRChat w systemie Linux

VR Chat to towarzyska interaktywna gra wideo na PC. Działa zarówno w trybie stacjonarnym, jak i w trybie gogli VR. W grze użytkownicy mogą odkrywać stworzone przez użytkowników

Jak grać w Grand Theft Auto 5 w systemie Linux

Jak grać w Grand Theft Auto 5 w systemie Linux

Teraz można grać w trybie jednoosobowym Grand Theft Auto 5, a także w komponent GTA: Online w systemie Linux, dzięki Valves Steam Play i Proton

Jak zainstalować Netstat w systemie Linux

Jak zainstalować Netstat w systemie Linux

Netstat to narzędzie Linux, którego administratorzy systemu używają do analizy statystyk sieci. Przydaje się, gdy próbujesz dokładniej przyjrzeć się swojemu Linuksowi

Jak grać w Microsoft Fight Simulator w systemie Linux

Jak grać w Microsoft Fight Simulator w systemie Linux

Microsoft Flight Simulator to gra wideo symulatora samolotów na konsolę Xbox, a także Microsoft Windows. Zobacz jak uruchomić ją w systemie Linux.

Jak naprawić uszkodzony ekran logowania do Gnome w systemie Linux?

Jak naprawić uszkodzony ekran logowania do Gnome w systemie Linux?

Jak naprawić uszkodzony ekran logowania do Gnome w systemie Linux?

Jak uzyskać podstawowe czcionki Microsoft w systemie Linux

Jak uzyskać podstawowe czcionki Microsoft w systemie Linux

Linux to system operacyjny typu open source. Dowiedz się, jak łatwo zainstalować podstawowe czcionki Microsoft na różnych dystrybucjach Linux.

Jak korzystać z aplikacji do robienia notatek Cherry Tree w systemie Linux?

Jak korzystać z aplikacji do robienia notatek Cherry Tree w systemie Linux?

Cherry Tree to hierarchiczna aplikacja do robienia notatek dla systemów Linux i Windows. Ma wiele doskonałych funkcji, takich jak bogata edycja tekstu i składnia.

Jak otwierać zdalne dokumenty FTP w Libre Office

Jak otwierać zdalne dokumenty FTP w Libre Office

Masz dokumenty na serwerze FTP, które chcesz otworzyć w Libre Office? Kliknij tutaj, aby dowiedzieć się, jak to zrobić bez potrzeby pobierania plików lokalnie!