> 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 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="/files/gVJgkXkDqRi5jN7VQvgP" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/mxXD3rejAF5F68JqKic4" alt=""><figcaption><p>Docker Engine CE i Docker Swarm Cluster na Marketplace Cloudlets.Zone</p></figcaption></figure>

<figure><img src="/files/f9fwyFFhJnvhXR2cHySL" 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="/files/XgzFHEeoIXbOuz5o3IU4" 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="/files/LNtLHFuM4YiPRmoYTH7L" 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="/files/E88UMcX9s0nl7LMEg9jm" alt=""><figcaption><p>Przełączanie kreatora topologii na obsługę obrazów Docker</p></figcaption></figure>

<figure><img src="/files/SKPuz0RKcp2MTocHn0Or" 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="/files/msDDBCU1b9O6P6ViQmV6" 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.

![](/files/KF8dabJAOSECJGM1txT7)
{% 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="/files/AMfOJDQHrUI8JWsVRiGI" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/nzRcQ0MBfkesjpb1046G" 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="/files/IF1nyOi3O5hIiC8QNHAc" 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.

![](/files/xXAvj1fILfHcGx6Cpes7)

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="/files/b0eEkYPJt7SR2RmhtgtQ" 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="/files/LbpWqFuiPzdbFbNzBWOr" 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="/files/oSfB0jhM7tXaEHgONHrX" 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="/files/OdqEwUrxuWXzJDJEJ8SH" alt=""><figcaption><p>Szablony kontenerów Docker z aplikacji Portainer.io</p></figcaption></figure>
