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

Diagnoza MP3: Rozwiąż do 50 problemów z plikami audio MP3

Diagnoza MP3: Rozwiąż do 50 problemów z plikami audio MP3

MP3 Diags to najlepsze narzędzie do rozwiązywania problemów w Twojej kolekcji audio. Potrafi poprawnie oznaczyć pliki mp3, dodać brakujące okładki albumów i naprawić VBR.

Aplikacje do powiadomień Google Voice na pulpicie

Aplikacje do powiadomień Google Voice na pulpicie

Podobnie jak Google Wave, Google Voice wzbudził spore zainteresowanie na całym świecie. Google dąży do zmiany sposobu, w jaki się komunikujemy, a ponieważ staje się coraz bardziej

Pobierz ulubione z serwisu Flickr za pomocą FlickrFaves

Pobierz ulubione z serwisu Flickr za pomocą FlickrFaves

Istnieje wiele narzędzi, które pozwalają użytkownikom serwisu Flickr pobierać zdjęcia w wysokiej jakości, ale czy istnieje sposób na pobranie ulubionych z serwisu Flickr? Niedawno…

OK Sampler to darmowe oprogramowanie do tworzenia próbek muzyki

OK Sampler to darmowe oprogramowanie do tworzenia próbek muzyki

Czym jest samplowanie? Według Wikipedii „jest to akt pobrania fragmentu lub próbki jednego nagrania dźwiękowego i ponownego wykorzystania go jako instrumentu lub

Kopia zapasowa Google Sites: import/eksport

Kopia zapasowa Google Sites: import/eksport

Google Sites to usługa Google, która pozwala użytkownikom hostować witrynę na serwerze Google. Jest jednak jeden problem: nie ma wbudowanej opcji tworzenia kopii zapasowej.

Aplikacja Google Tasks na komputer

Aplikacja Google Tasks na komputer

Usługa Google Tasks nie jest tak popularna jak inne usługi Google, takie jak Kalendarz, Wave, Voice itp., ale jest nadal szeroko używana i stanowi integralną część codziennej pracy użytkowników.

Jak odzyskać utracone partycje i dane z dysku twardego [Poradnik]

Jak odzyskać utracone partycje i dane z dysku twardego [Poradnik]

W naszym poprzednim poradniku dotyczącym bezpiecznego czyszczenia dysku twardego i nośników wymiennych za pomocą Ubuntu Live i rozruchowej płyty CD DBAN omówiliśmy dysk oparty na systemie Windows

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