Jak uaktualnić do Docker Compose v2
Agencja internetowa » Wiadomości cyfrowe » Jak uaktualnić do Docker Compose v2

Jak uaktualnić do Docker Compose v2

Po prawie roku w wersji beta Docker Compose v2 jest ogólnie dostępny jako stabilna wersja narzędzia do zarządzania kontenerami. Większość użytkowników powinna być w stanie dokonać zmiany już dziś. W tym przewodniku pokażemy, jak przygotować i zastosować uaktualnienie.

Co nowego w wersji 2?

Docker Compose v2 wprowadza znajome funkcje tworzenia do codziennego życia docker CLI. Zamiast wchodzić w interakcje z innym docker-compose plik binarny, którego teraz używasz docker compose. Compose jest zintegrowane z Dockerem.

Możesz zastąpić polecenia w ten sposób:

$ tworzenie dokerów -d

Z następującą inwokacją:

$ tworzenie dokera -d

Compose v2 zawiera również kilka nowych funkcji, które poprawiają wrażenia użytkownika:

  • Możesz użyć docker compose cp do kopiowania plików między hostem a kontenerami.
  • Dostawcy chmury są prawidłowymi celami, co pozwala docker compose up do wdrażania kontenerów na Amazon ECS lub Microsoft ACI.
  • Profile usług są w pełni obsługiwane, co ułatwia selektywne umieszczanie kontenerów w stosie.
  • Uproszczone zarządzanie projektami: wykonuj polecenia bez przebywania w tym samym katalogu co twój docker-compose.yml folder z docker compose --project-name my-project stop . Jest też nowy docker compose ls polecenie, które wyświetla wszystkie twoje projekty Compose.
  • Docker Compose jest teraz napisany w Go, podobnie jak sam Docker, zamiast być oddzielnym narzędziem Pythona. Dzięki temu Compose może ponownie użyć podstawowego kodu wiersza polecenia platformy Docker, tworząc bardziej spójne zachowanie.

Niezgodności z v1

Compose v2 jest kompatybilny z v1 w prawie wszystkich przypadkach użycia. Nie musisz modyfikować swojego docker-compose.yml pliki lub nauczyć się nowych poleceń, z wyjątkiem zmiany docker-compose à docker compose. Jeśli masz własne narzędzia w okolicy docker-compose polecenie, możesz je zmienić na wywołanie docker compose W zamian.

Chociaż większość migracji powinna być prosta, Compose v2 wprowadza kilka przełomowych zmian, które mogą mieć wpływ na konkretne przypadki użycia:

  • Kontenery są teraz tworzone z myślnikami w nazwach zamiast podkreśleń. Oznacza usługę o nazwie db w ciągu app projekt utworzy teraz kontener o nazwie app-dbzamiast app_db. Może to spowodować uszkodzenie skryptów, które oczekują użycia starego formatu nazwy kontenera. Zmianę można obecnie wyłączyć, dołączając --compatibility flaga z docker compose Zamówienia.
  • docker compose build zbudowany z BuildKit domyślnie. BuildKit to nowoczesny system obrazowania firmy Docker, zdolny do tworzenia kompilacji znacznie szybciej. Zalecanym systemem kompilacji jest BuildKit, ale nadal istnieją pewne niezgodności ze starszym mechanizmem kompilacji, które w pewnych okolicznościach mogą powodować problemy. Możesz wyłączyć BuildKit, ustawiając DOCKER_BUILDKIT=0 zmienna środowiskowa przed uruchomieniem docker compose Zamówienia.
  • Usunięto niektóre przestarzałe flagi poleceń. docker compose rm --all nie jest obsługiwany, a docker compose scale polecenie jest pomijane na korzyść docker compose up --scale. Będziesz musiał zmodyfikować wszystkie skrypty, które opierają się na docker-compose wersje tych poleceń.

Aktualizacja w systemie Linux

Chociaż funkcja Compose jest teraz zintegrowana z interfejsem wiersza polecenia platformy Docker, nie jest domyślnie włączona w silniku platformy Docker. Możesz zainstalować Compose v2, dodając go jako wtyczkę Docker CLI. Musisz mieć Docker w wersji 20.10.13 lub nowszej.

Zaktualizuj repozytoria pakietów i zainstaluj docker-compose-plugin:

$ sudo apt update $ sudo apt install docker-compose-plugin

Sprawdź, czy instalacja się powiodła, pobierając wersję Docker Compose:

$ docker Compose wersja Docker Compose wersja v2.3.3

Możesz teraz usunąć Docker Compose v1, chyba że chcesz zachować zgodność ze starszymi skryptami. Obie docker-compose (v1) i docker compose (v2) mogą współistnieć, jeśli ich potrzebujesz. Jeśli usuniesz v1, zwykle jest on widoczny jako pojedynczy plik binarny /usr/local/bin/docker-compose:

$ sudo rm /usr/local/bin/docker-compose

Możesz teraz skonfigurować alias powłoki do przekierowania docker-compose à docker compose. Umożliwi to dalsze korzystanie ze skryptów, które oczekują Compose v1, przy użyciu nowej instalacji v2.

$ echo 'alias docker-compose="docker compose"' >> ~/.bashrc $ source ~/.bashrc $ wersja docker-compose Docker Compose wersja v2.3.3

Możesz teraz rozpocząć zarządzanie kontenerami za pomocą Compose v2.

Uaktualnij do Docker Desktop dla Windows i Mac

Compose v2 jest dołączona do platformy Docker Desktop w wersji 3.4 i nowszych. v2 stała się domyślną wersją Compose w wersji 4.4.2; jeśli masz już uaktualnienie, możesz użyć docker compose dzisiaj

obraz zarządzania Docker Compose v2 w ustawieniach Docker Desktop

v4.4.2 również aliasy docker-compose à docker compose automatycznie. Opcja Compose v1 jest domyślnie niedostępna. Możesz wyłączyć ten alias, uruchamiając docker-compose disable-v2 polecenie lub odznaczając pole wyboru „Użyj Docker Compose v2” na stronie ustawień pulpitu Docker. The docker-compose Sterowanie powróci do korzystania z funkcji Compose v1.

A potem?

Compose v1 pozostaje obsługiwany w przypadku problemów z bezpieczeństwem i poprawek błędów o „wysokiej ważności” przez następne sześć miesięcy. To wsparcie zakończy się w październiku 2022 r. v1 będzie wówczas uważane za koniec życia, więc należy unikać jego używania. W tym momencie Docker Desktop zostanie zaktualizowany do seulement wsparcie v2. Będziesz musiał użyć docker compose jak docker-compose aliasing zostanie usunięty. Będziesz musiał pozostać na starszej wersji, jeśli nadal potrzebujesz v1.

Możesz nadal korzystać z wersji 1 w nieskończoność, instalując ją jako samodzielny plik binarny. Można je znaleźć wydane dla systemów Windows, Mac i Linux na stronie wydań GitHub projektu. Chociaż te pliki binarne będą nadal działać w nieskończoność, większość projektów powinna mieć na celu aktualizację do wersji v2 w najbliższej przyszłości. Dzięki temu uzyskasz dostęp do wszystkich poprawek błędów, aktualizacji zabezpieczeń i nowych funkcji w nowoczesnych wersjach Compose v2.

streszczenie

Docker Compose v2 jest teraz stabilną wersją Docker Compose. Użytkownicy platformy Docker Desktop zostaną automatycznie uaktualnieni. Instalacje Docker Engine w systemie Linux są obsługiwane przez nowy docker-compose-plugin Wtyczka CLI.

Wsparcie dla Compose v1 kończy się za mniej niż sześć miesięcy. Dlatego musisz sprawdzić, czy Twoje skrypty są kompatybilne, a następnie zaadoptować v2 w nadchodzących tygodniach. Będziesz mógł korzystać z komponowania w docker CLI i korzystaj z funkcji v2, takich jak profile usług i docker compose ls zamówiony.

★ ★ ★ ★ ★