> For the complete documentation index, see [llms.txt](https://kompendium.cloudlets.zone/kompendium/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kompendium.cloudlets.zone/kompendium/kontenery/docker-engine-ce.md).

# Docker Engine CE

Instalacja silnika konteneryzacji Docker do uruchamiania i instalowania środowisk na bazie gotowych obrazów lub manfiestów.

### Instalacja Docker Engine CE

**Docker Engine CE** (Community Edition) to darmowa wersja platformy konteneryzacji w pełni kompatybilnej z ekosystemem Docker. Umożliwia pracę z podstawowymi narzędziami technologii konteneryzacji Docker, w tym:

* **Docker Engine** - przetwarza manifesty Dockerfile lub uruchamia predefiniowane obrazy kontenerów;
* **Docker Registry** - przechowuje i zapewnia dostęp do licznych publicznych i prywatnych obrazów przeznaczonych do wdrożenia w Docker Engine;
* **Docker Compose** - pomaga w tworzeniu aplikacji składających się z wielu komponentów ze wszystkimi wymaganymi konfiguracjami zadeklarowanymi w jednym pliku *compose*;
* **Docker Swarm** - reprezentuje kilka niezależnych węzłów Docker połączonych w klaster;

**Docker Engine CE** jest dostarczany jako gotowe rozwiązanie dostępne przez Marketplace platformy.&#x20;

1. Z górnego menu wybierz **Marketplace,** a następnie użyj pola *wyszukiwania* lub znajdź pakiet **Docker Engine CE** w kategorii: *Narzędzia developerskie i administracyjne* (*Dev & Admin Tools) .*

<figure><img src="https://1972667440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWnpSFLdAw8lYDKrSEr%2Fuploads%2FvXKj48l4FRFIIQWHhQBu%2Fimage.png?alt=media&amp;token=b6f9a538-f5ba-4c65-b4f9-51f21ca333cb" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1972667440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWnpSFLdAw8lYDKrSEr%2Fuploads%2FD3Hv6R5i9H8Xrf2J72zo%2Fimage.png?alt=media&amp;token=2c9d4e3a-96fc-488d-8635-a6d6f07b46fb" alt=""><figcaption><p>Docker Engine CE i Docker Swarm Cluster na Marketplace Cloudlets.Zone</p></figcaption></figure>

<figure><img src="https://1972667440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWnpSFLdAw8lYDKrSEr%2Fuploads%2FmnafAqBnRREcfQYNQl4t%2Fimage.png?alt=media&amp;token=c100ac00-4a2e-461f-8437-bf74cfab6b8c" alt=""><figcaption></figcaption></figure>

2. Po kliknięciu przycisku **Instaluj** pojawi się okno konfiguracji. Wybierz jedną z opcji instalacji:

   1. *Create a clean standalone engine* (utwórz czysty, samodzielny silnik) - konfiguruje podstawowy węzeł zawierający tylko silnik Docker.&#x20;
   2. *Connect to an existing swarm cluster* (połącz z istniejącym klastrem swarm) - automatycznie dołącza nowy Docker Engine do istniejącego klastra Docker Swarm (wymagany jest odpowiedni Join Token i Host IP klastra).
   3. *Deploy containers from compose.yml* (wdróż kontenery z pliku compose.yml) - automatycznie wdraża aplikację z połączonego repozytorium niestandardowego.

   Zdecyduj też, czy instalacja ma zawierać również Portainer UI.

{% hint style="info" %}
[**Portainer.io**](https://www.portainer.io/) to narzędzie służące do zarządzania środowiskami Docker poprzez interfejs graficzny (GUI). Jest szczególnie przydatny dla zespołów deweloperskich i administratorów, którzy preferują graficzny interfejs zamiast wiersza poleceń, lub dla osób początkujących w pracy z Dockerem. Stanowi warstwę abstrakcji nad surowym interfejsem Docker CLI, czyniąc zarządzanie kontenerami bardziej dostępnym i intuicyjnym.
{% endhint %}

<figure><img src="https://1972667440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWnpSFLdAw8lYDKrSEr%2Fuploads%2F1czgkRkcfvCtKolkPbqI%2Fimage.png?alt=media&amp;token=02a008de-c63e-471e-9f3c-ddcc558644a5" alt=""><figcaption><p>Wybór opcji instalacji Docker Engine CE na Cloudlets.Zone </p></figcaption></figure>

3. Kliknij **Instaluj** i odczekaj kilka minut, aż system automatycznie wykona wszystkie wymagane czynności, tj. skonfiguruje nowe środowisko z kontenerem zbudowanym na odpowiednim, specjalnie dostosowanym szablonie stosu, zainstaluje sam Docker Engine i, w zależności od wybranej opcji, wdroży dostarczony obraz.

Po zakończeniu wszystkich tych zadań Twoja dokeryzowana instancja będzie już uruchomiona i gotowa do pracy, a Ty otrzymasz odpowiednie powiadomienie na pulpicie oraz na e-mail konta usługi.&#x20;

<figure><img src="https://1972667440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWnpSFLdAw8lYDKrSEr%2Fuploads%2FGA53kWFZ02UwMEIOBpoz%2Fimage.png?alt=media&amp;token=21b660d3-ac47-4483-828b-04e5e6f8a350" alt=""><figcaption><p>Autoskalowalne środowisko Docker Engine CE w Panelu Usługi na Cloudlets.Zone</p></figcaption></figure>

Instalacja Docker Engine CE została zakończona.

***

### Instalacja obrazu Docker z repozytorium

W przypadku, gdy zamierzasz użyć własnego obrazu Docker lub użyć projektu innych firm dostępnego na Docker Hub lub innym zgodnym rejestrze (publicznym lub prywatnym), postępuj zgodnie z poniższą instrukcją.&#x20;

{% hint style="warning" %}
Przed instalacją uwzględnij, że następujące dystrybucje Linuksa są obsługiwane jako podstawa kontenerów, które można wdrożyć na platformie [Cloudlets.Zone](https://cloudlets.zone/) i które będą prawidłowo obsługiwane (informacje te mogą ulec zmianie):

* AlmaLinux 9
* Alpine 3
* CentOS 7 & 8
* Debian 10, 11 & 12
* RHEL 7
* Ubuntu 18.04,&#x20;  20.04, 22.04 & 24.04
  {% endhint %}

1. Z górnego menu Panelu Usługi wybierz **Nowe środowisko**, co wywoła okno kreatora topologii. Następnie, w górnym menu kreatora kliknij **Inne,** by wywołać okno wyboru obrazu Docker.

<figure><img src="https://1972667440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWnpSFLdAw8lYDKrSEr%2Fuploads%2F6fnZXELxIJ88Acqk70BX%2Fimage.png?alt=media&amp;token=a398c50e-1e72-41b2-8455-6d3583edb2c9" alt=""><figcaption><p>Przełączanie kreatora topologii na obsługę obrazów Docker</p></figcaption></figure>

<figure><img src="https://1972667440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWnpSFLdAw8lYDKrSEr%2Fuploads%2FBQDvFsz5YONqK7fUsOVO%2Fimage.png?alt=media&amp;token=d92c6346-c3a5-4e32-9312-3a4e5c6bb958" alt=""><figcaption><p>Wybór metody instalacji obrazu Docker</p></figcaption></figure>

2. Na początku określ w jakiej warstwie topologii instalowany będzie obraz Docker. W naszym przypadku będzie to warstwa aplikacji -> **Serwer aplikacji**.

<figure><img src="https://1972667440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWnpSFLdAw8lYDKrSEr%2Fuploads%2FojOMO4VueMBMtWSq8QOf%2Fimage.png?alt=media&amp;token=b7a5fa89-eb21-48fd-aba3-d8fd04eb17e0" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
UWAGA. Nie można dodawać różnych obrazów Docker do tej samej warstwy. Aby dodać więcej obrazów, użyj różnych warstw. Bloki Extra pozwalają na rozszerzanie topologii, na tyle ile potrzebujesz.

![](https://1972667440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWnpSFLdAw8lYDKrSEr%2Fuploads%2FypHvmSoAhFfhccHBFdku%2Fimage.png?alt=media\&token=88520015-6d5e-48e7-87a6-632d8856a16e)
{% endhint %}

2. Wybierz z menu jedną z opcji zależnie od tego, czy chcesz użyć własnego obrazu niestandardowego umieszczonego w rejestrze prywatnym, czy publicznego repozytorium Docker Hub:&#x20;
   1. **Personalizacja** - gdy chcesz użyć własnego obrazu z repozytorium prywatnego.&#x20;
   2. **Szukaj -** gdy zamierzasz skorzystać z publicznego rejestru [Docker Hub](https://hub.docker.com/).

<figure><img src="https://1972667440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWnpSFLdAw8lYDKrSEr%2Fuploads%2FKiW5q19X5FKGeEBoWIbB%2Fimage.png?alt=media&amp;token=fb61e1c2-e651-4fd7-9d14-d0e380005659" alt=""><figcaption></figcaption></figure>

A. W przypadku wyboru **Personalizacja** zostaniesz poproszony o podanie poświadczeń do repozytorium.

<figure><img src="https://1972667440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWnpSFLdAw8lYDKrSEr%2Fuploads%2FOw4rCGdhGWj524Q93TGl%2Fimage.png?alt=media&amp;token=0b344f22-0201-43c0-9745-5908f22373ac" alt=""><figcaption><p>Parametryzacja repozytorium obrazów Docker</p></figcaption></figure>

B. Opcja **Szukaj** umożliwi Ci przeszukiwanie publicznego repozytorium Docker Hub.

<figure><img src="https://1972667440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWnpSFLdAw8lYDKrSEr%2Fuploads%2FqJVWVI5cDQig1TObveDz%2Fimage.png?alt=media&amp;token=bcea8b6a-22c8-4840-9b17-3d0d18ea9e3c" alt=""><figcaption><p>Przeszukiwanie publicznego repozytorium Docker Hub</p></figcaption></figure>

{% hint style="info" %}
Wskazówki.

Najechanie kursorem na konkretny obraz spowoduje pokazanie funkcji pomocniczych. Kliknij na **Więcej szczegółów**, aby otworzyć odpowiednią stronę repozytorium w Docker Hub w osobnej karcie przeglądarki.

![](https://1972667440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWnpSFLdAw8lYDKrSEr%2Fuploads%2F3AXNxE49LleqCclRxxk9%2Fimage.png?alt=media\&token=4e97e4fd-67c8-4eb6-bfcc-5e151b424c36)

Możesz oznaczyć obraz jako Ulubiony, klikając ikonę gwiazdki w prawym górnym rogu, platforma doda ten obraz do odpowiedniej karty w celu szybkiego dostępu. Aby usunąć zapisany obraz z listy, kliknij ponownie przycisk w kształcie gwiazdki.
{% endhint %}

3. Po wybraniu obrazu Docker pozostaje już tylko przydzielić właściwe zasoby dla kontenera, podobnie jak się to robi dla standardowego kontenera. Określ przedział skalowania pionowego, czyli minimalną oraz maksymalną liczbę cloudletów (CPU i RAM) oraz przestrzeń dyskową. Możesz też zmienić nazwę środowiska. Na koniec wystarczy kliknąć przycisk **Utwórz**, a Twoje środowisko na bazie obrazu Docker zostanie powołane w ciągu kilku minut.

<figure><img src="https://1972667440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWnpSFLdAw8lYDKrSEr%2Fuploads%2FLNRdopb1kHVp0mVm5Ese%2Fimage.png?alt=media&amp;token=7881c347-4bef-4b6e-898f-46b794e18f3d" alt=""><figcaption><p>Parametryzowanie zasobów dla obrazu Docker w kreatorze topologii środowiska na Cloudlets.Zone</p></figcaption></figure>

{% hint style="info" %}

\
Wskazówki

1. Nie wszystkie niestandardowe kontenery mają interfejs webowy działający od razu po instalacji. Dlatego podczas próby dostępu do takiego węzła przez przeglądarkę możesz otrzymać błąd *502 application down* (502 - aplikacja nie działa). Nie oznacza to jednak, że ten obraz jest nieprawidłowy lub uszkodzony. Jeśli chcesz upewnić się, że niezbędna usługa działa, sprawdź uruchomione procesy wewnątrz kontenera za pomocą [połączenia SSH](/kompendium/dostep/dostep-sftp-ssh-i-web-ssh.md).
2. W przypadku, gdy aplikacja jest wdrażana w kontenerze bez publicznego adresu IP i nie nasłuchuje portu 80 w swoim zapleczu, zostanie wyświetlona dedykowana strona błędu 502 — Usługa nie działa podczas próby jej otwarcia. W takim przypadku musisz się upewnić, że kontener ma uruchomioną usługę HTTP i jest ustawiony na obsługę żądań przychodzących przez port 80.
   {% endhint %}

***

### Zarządzanie Docker Engine z Portainer.io <a href="#zarzadzanie-docker-z-portainer.io" id="zarzadzanie-docker-z-portainer.io"></a>

Jeżeli kroku 2 wybrana została instalacja Docker Engine wraz z Portainer UI w mailu otrzymasz także poświadczenia oraz adres web do aplikacji.&#x20;

1. Zaloguj się do aplikacji zarządzającej używając URL i poświadczeń otrzymanych mailem. Będzie to  URL wraz z numerem portu - *przykład:* [*https://env-73625252.node.cloudlets.zone:4848/*](https://env-73625252.node.cloudlets.zone:4848/)

<figure><img src="https://1972667440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWnpSFLdAw8lYDKrSEr%2Fuploads%2FVuNv0rmY8w4SDP9S80Us%2Fimage.png?alt=media&amp;token=64b4546f-d45b-454f-807c-a75bfebba07a" alt=""><figcaption><p>Interfejs Portainer.io do zarządzania Docker Engine CE</p></figcaption></figure>

{% hint style="warning" %}
UWAGA, zaraz po zalogowaniu Portainer.io system wymusi zmianę hasła. Dopiero wówczas możliwa będzie dalsza praca z aplikacją.&#x20;
{% endhint %}

2. Po zamianie hasła konieczne będzie ponowne logowanie. Teraz już w aplikacji widoczne będą informacje o zasobach.

<figure><img src="https://1972667440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWnpSFLdAw8lYDKrSEr%2Fuploads%2FvaUdoCIEUmBZFmbLj18M%2Fimage.png?alt=media&amp;token=18b6471c-a986-47de-b6f6-a713b85a8acc" alt=""><figcaption><p>Widok interfejsu Portainer.io do zarządzania Docker Engine CE</p></figcaption></figure>

3. Instalowanie kontenerów lub konkretnych aplikacji możliwe jest z użyciem repozytorium Docker Hub, prywatnych repozytoriów obrazów lub kilkunastu szablonów dostarczanych przez Portainer.io&#x20;

<figure><img src="https://1972667440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWnpSFLdAw8lYDKrSEr%2Fuploads%2FZgVUyCOIvUiuRd5wTxm2%2Fimage.png?alt=media&amp;token=a4a01d95-5fbe-4a33-a726-c9438ed27cfb" alt=""><figcaption><p>Szablony kontenerów Docker z aplikacji Portainer.io</p></figcaption></figure>
