Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 9930|Odpowiedź: 2

Różnica między dockerfile a docker-compose

[Skopiuj link]
Opublikowano 15.11.2019 09:33:13 | | |
Różnica między dockerfile a docker-compose
Przyjrzyjmy się krótko procesowi użytkowania dockera, który dzieli się na budowanie obrazów i uruchamianie kontenerów.

Konstrukcja obrazu: czyli stworzenie obrazu zawierającego środowisko, kod programu itp. potrzebne do instalacji i działania. Proces tworzenia odbywa się za pomocą pliku docker.

Uruchamianie kontenera: Kontener jest uruchamiany przez pobranie zbudowanego obrazu i uruchomienie usługi przez serię instrukcji (takich jak mapowanie portów, zewnętrzne montowanie danych, zmienne środowiskowe itp.). Dla pojedynczego kontenera można to uruchomić przez docker run.

Jeśli wymaga uruchamiania wielu kontenerów (np. orkiestracja usług), może być zaimplementowany za pomocą docker-compose, który łatwo uruchamia wiele kontenerów jako usługę (oczywiście tylko jeden) i pełni funkcję skalowania (skalowania usług).

Krótkie podsumowanie:

1.dockerfile: buduj obraz;

2. Docker run: Uruchomić kontener;

3. docker-compose: Rozpocznij usługę;

Zacznij od początku.
Jeśli nie używasz Dockera, jak zbudować WordPressa? Najpierw znajdź serwer, załóż, że jego system operacyjny to Ubuntu, a potem krok po kroku podążaj za dokumentacją, wpisując polecenie i zapisując konfigurację, prawda?
A co z używaniem dockera? Po prostu znajdź serwer, niezależnie od systemu operacyjnego, o ile obsługuje dockera, dockera, Ubuntu, docker pobiera najnowszy obraz Ubuntu z oficjalnego źródła, możesz to sobie wyobrazić jak otwarcie maszyny wirtualnej Ubuntu i instalację krok po kroku, tak jak powyżej.

Jednak ta instalacja ma istotny minus: po usunięciu kontenera nie wykonujesz żadnych prac. Oczywiście możesz użyć docker commit, aby zapisać go jako obraz, tak aby mógł być ponownie użyty.

Ale obraz jest zazwyczaj duży, a jeśli udostępniasz tylko obraz, inni nie będą wiedzieć, co się na nim znajduje, co nie sprzyja udostępnianiu i ponownemu wykorzystaniu.
Intuicyjnym rozwiązaniem jest napisanie skryptu, który zapisuje cały proces instalacji, tak aby po ponownej instalacji można było go wykonać. Dockerfile to jeden z takich skryptów, który dokumentuje proces tworzenia obrazu.
Z Dockerfile po prostu uruchom docker build. Możesz utworzyć obraz, a plik Dockera to plik tekstowy, który bardzo łatwo modyfikować.

Teraz, gdy masz obraz WordPressa, wystarczy uruchomić docker, żeby WordPress działał.

Jeśli to tylko WordPress, to wystarczy. Jednak często do uruchomienia usługi potrzeba wielu obrazów, takich jak nginx, mysql, mail service itp.
Częściej nginx, mysql i smtp to wszystkie obrazy, które współpracują ze sobą, aby służyć projektowi.
Docker-Compose jest rozwiązaniem tego problemu. Informacje o tym, jakie obrazy potrzebuje Twój projekt, jak skonfigurować każdy obraz, które wolumeny zamontować i tak dalej, znajdują się w docker-compose.yml.
Aby rozpocząć usługę, wystarczy wykonać docker-compose up, a docker-compse zatrzymać/zejść, aby ją zatrzymać

Krótko mówiąc, plik Dockera rejestruje proces budowy pojedynczego obrazu, docker-compse.yml rejestruje proces budowy projektu (zazwyczaj wiele obrazów).

Powiedziałeś, że niektóre tutoriale używają dockerfile+docker-compose, ponieważ sam docker-compose.yml nie zawiera informacji o budowie obrazu, a jeśli obraz zostanie pobrany z rejestru dockera, to dockerfile nie jest potrzebny; Jeśli obraz musi zostać zbudowany, należy dostarczyć plik Docker.

docker-composeTo jest pojemnik do orkiestracji. Na przykład masz obraz PHP, obraz mysql i obraz nginx. Jeśli nie ma docker-compose, to za każdym razem przy uruchamianiu musisz wpisać parametry startowe każdego kontenera, zmienne środowiskowe, nazwę kontenera, określić parametry linków różnych kontenerów oraz wykonać serię operacji, co jest dość uciążliwe. Po użyciu docker-composer możesz zapisać te polecenia w docker-composer.yml pliku jednocześnie, a za każdym razem, gdy uruchamiasz całe środowisko (w tym 3 kontenery), wystarczy wpisać polecenie docker-composer up.

dockerfileRola polega na budowaniu lustrzanego odbicia od podstaw. Zawiera środowisko, kod programu itp. niezbędne do instalacji i działania. Proces tworzenia odbywa się za pomocą pliku docker. Dockerfile – Przygotowany do polecenia docker build do utworzenia samodzielnego obrazu, który może być również używany w docker-compose do budowania na żywo
docker-compose.yml - Skrypt do docker-compose, który może zarządzać wieloma kontenerami jednocześnie, w tym relacjami między nimi, czy budować na oficjalnym obrazie, czy samodzielnie, różnymi definicjami portów sieciowych, definicjami przestrzeni pamięci itp




Poprzedni:Nie zarejestrowano adresu URL "http://xx/" dla "NAZWY STRONY"...
Następny:Docker przechowuje lokalizację obrazu w systemie Windows
 Ziemianin| Opublikowano 18.12.2022 14:56:50 |
Instrukcja instalacji centos Docker Compose
https://www.itsvse.com/thread-5164-1-1.html
 Ziemianin| Opublikowano 05.03.2025 10:37:33 |
BuildKit to ulepszony backend, który zastępuje legacy builder. Od wersji 23.0 BuildKit jest domyślnym kreatorem dla użytkowników Docker Desktop i Docker Engine.

Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.

Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com