Czytelnicy tacy jak ty pomagają wspierać MUO. Kiedy dokonujesz zakupu za pomocą linków na naszej stronie, możemy otrzymać prowizję partnerską. Czytaj więcej.

Docker jest niezbędnym narzędziem do łatwej instalacji aplikacji, które mogą uruchamiać Twoje witryny i usługi, a zarządzanie nim jest jeszcze łatwiejsze dzięki docker-compose.

Niektóre projekty nie są dostarczane z plikami do redagowania platformy Docker, a samodzielne tworzenie ich jest czasochłonne. docker-autocompose może wygenerować działający plik docker-compose z dowolnego uruchomionego kontenera Docker.

Niektóre aplikacje Dockera nie mają plików tworzenia

Docker to platforma typu open source do wdrażania aplikacji w pakietach komponentów zwanych kontenerami. Korzystając z Dockera, nie musisz martwić się o zależności lub interakcje między usługami, ponieważ są one zwykle do pewnego stopnia wstępnie skonfigurowane.

Możesz używać Dockera do wdrażania aplikacji, w tym wyspecjalizowanych serwerów, dystrybucji Linuksa lub niestandardowych obrazów. Uruchamianie aplikacji za pomocą Dockera jest stosunkowo łatwe i zapewnia zawsze najnowszą wersję oprogramowania.

instagram viewer

Jeśli nie znasz koncepcji dokowanych aplikacji, przeczytaj nasz podstawowy przewodnik dlaczego warto używać Dockera zamiast maszyny wirtualnej.

Polecenia Dockera są długie i zwykle wykonywane jako pojedyncze polecenie określające wszystkie odpowiednie zmienne. Są niewygodne do wprowadzania i chociaż możesz dodać alias do swojego pliku .bashrc, często sprowadza się to do wielokrotnego naciskania Ctrl + R aby znaleźć dokładne polecenie Dockera, którego potrzebujesz.

Docker Compose to narzędzie ułatwiające interakcję i orkiestrację między kontenerami. Jest tak skuteczny w zarządzaniu kontenerami Dockera, że ​​wielu użytkowników w ogóle nie uczy się, jak korzystać z Dockera. Dlaczego miałbyś to robić, skoro wszystko, co musisz zrobić, to pobrać pojedynczy plik YAML i wyświetlić go za pomocą prostego polecenia składającego się z dwóch słów?

Chociaż wiele aplikacji, które można wdrożyć za pomocą Dockera, ma pliki Compose, nie wszystkie je mają, co utrudnia szybkie, czyste instalacje i wdrożenia Dockera. Jest to szczególnie powszechne w przypadku aplikacji dla mniej popularnego sprzętu, takiego jak ARM64 i ARMhf.

Jeśli wolisz używać narzędzia docker-compose niż surowego Dockera, możesz zrezygnować z określonego oprogramowania, jeśli w repozytorium GitHub projektu nie ma przydatnego pliku docker-compose.yml.

docker-autocompose ułatwia automatyczne generowanie pliku redagowania

docker-autocompose to aplikacja w języku Python, która może utworzyć działający plik Compose z dowolnego uruchomionego kontenera Docker.

Oznacza to, że wystarczy najpierw uruchomić polecenie docker, a następnie pobrać wygenerowane dane wyjściowe i uruchomić aplikację za pomocą docker-compose w przyszłości lub możesz dołączyć go do istniejącego pliku Compose, aby zarządzać wszystkimi swoimi usługami w raz.

Jak zainstalować docker-autocompose w systemie Linux

Ponieważ docker-autocompose jest aplikacją Pythona, musisz mieć zainstalowany Python PIP w swoim systemie Linux.

Aby zainstalować Python PIP na Debianie lub Ubuntu:

sudo apt zainstalować python3-pip

Zainstaluj PIP na Arch Linux i jego pochodnych, używając:

sudo pacman -S python-pip

Aby zainstalować PIP w CentOS i Red Hat Enterprise Linux, uruchom:

sudo mniam zainstalować python3 python3-koło

Nie trzeba dodawać, że ty też musisz mieć zainstalowane Docker i Docker Compose.

Sklonuj repozytorium GitHub dla docker-autocompose i przenieś się do nowego katalogu:

git klon https://github.com/Red5d/docker-autocompose.git
płyta CD docker-autocompose

Teraz zainstaluj docker-autocompose, uruchamiając:

Sudopython3organizować coś.pyzainstalować

docker-autocompose jest teraz zainstalowany.

Użyj narzędzia docker-autocompose do generowania plików redagowania

Często podczas poszukiwań niezbędne aplikacje na Linuksa, natkniesz się na niesamowity projekt, który jest dostarczany z obrazami Dockera, ale bez pliku Compose. Przykładem tego jest doskonały, dostępny w przeglądarce klient IRC, Załatwić.

Utwórz katalog, z którego ma korzystać Dispatch:

mkdir ~/wysyłka

Pobierz i uruchom klienta na porcie 8080 komputera lokalnego za pomocą:

uruchomienie dokera -p 8080:80 -v /home/david/dispatch:/data --restart no -d khlieng/załatwić

Odwiedź localhost: 8080 w swojej przeglądarce, aby sprawdzić, czy Dispatch działa, a następnie powiedz docker-autocompose, aby wygenerował zawartość pliku Compose z uruchomionego kontenera za pomocą:

sudo autocompose.py <nazwa-lub-identyfikator-kontenera>

W tym przypadku nazwą kontenera jest wysyłka, a identyfikator kontenera pojawi się jako dane wyjściowe w terminalu natychmiast po uruchomieniu polecenia docker.

Alternatywnie możesz utworzyć zawartość pliku Compose, której możesz użyć do uruchomienia wszystkich uruchomionych kontenerów Docker za pomocą:

sudo autocompose.py $(docker ps -aq)

Żaden plik Docker Compose nie zostanie wygenerowany, więc musisz skopiować standardowe wyjście do schowka, a następnie utworzyć nowy plik z:

nanokomponowanie dokera.yml

Wklej zawartość schowka, a następnie zapisz i wyjdź z nano Ctrl + O, Następnie Ctrl + X.

Możesz teraz uruchomić wszystkie swoje kontenery jednocześnie za pomocą:

tworzenie dokerów -d

Alternatywnie możesz uruchomić docker-autocompose za pomocą samego Dockera, uruchamiając:

uruchomienie dokera --rm -v /rozm/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose <dodatkowe-nazwy-lub-identyfikatory>

... co jest poleceniem przypominającym, dlaczego na początek potrzebujesz docker-autocompose.

Błyskawicznie twórz działające pliki redagowania z uruchomionych kontenerów Docker

Docker i Docker Compose są coraz ważniejszą częścią ekosystemu aplikacji Linuksa i udowadniają to szczególnie cenny w przypadku samoobsługowych witryn i usług na wszechobecnej pojedynczej płycie Raspberry Pi komputer.

Jeśli jeszcze nie rozpocząłeś swojej podróży w kierunku stworzenia własnego ekosystemu online, powinieneś rzucić okiem na niektóre z niesamowitych projektów internetowych, które możesz uruchomić na Pi.