Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

Wpis użytkownika NrmvY w Docker

Osobistość

w Docker

1piorunów

Używam sobie Docker Desktop na Windowsie. Pobrałem do niego obraz, odpaliłem, ustawiłem zmienne środowiskowe w okienku (port, lokalizacja folderu danych itd) i wszystko śmiga. Teraz chciałbym zaktualizować obraz bo wyszła nowa wersja, ale jedyne co mi przychodzi to usunięcie kontenera, pobranie obrazu, odpalenie obrazu z tymi samymi parametrami co poprzedni kontener.

Da się to jakoś zrobić szybciej? Nie chce mi się przy każdym updejcie obrazu kasować kontenera i od nowa ustawiać wszystkie parametry przy starcie nowego obrazu.

Wszystkie tutoriale mówią o jakimś docker compose, docker yml.

Nie da się tego zrobić prościej na zasadzie "pobierz nowy obraz i redeplojuj kontener z zachowaniem konfiguracji"?

Komentarze (7)

Osobistość1piorunów

@weirdo2k23 @dext3 już znalazłem rozwiązanie. Docker Desktop ma opcję "kopiuj komendę docker run" na liście z kontenerami. Komenda ta ma w sobie całą konfigurację kontenera.
Czyli: usuwam kontener, aktualizuje obraz, klikam w run.bat z komendą i fajrant.

Kompan2piorunów

@NrmvY z poziomu terminala zrobisz to w przeciągu minuty. stopujesz kontener, usuwasz poprzedni obraz, robisz pulla, przechodzisz do katalogu gdzie masz yamla i lecisz z docker compose

Gwiazdor1piorunów

@NrmvY kurde nie wiem, nigdy nie korzystałem z takich narzędzi (kiedyś miałem Portainera, ale mnie nie zachwycił).
Ja korzystam z Dockera jedynie przez CLI, w zasadzie to tak pracują chyba wszyscy.
W zależności od tego co chcesz zrobić, możesz stworzyć własny obraz za pomocą Dockerfile (np. z własną aplikacją, albo jakimś usprawnieniem/modyfikacją czegoś gotowego).
Ja korzystam z docker-compose w celu konfiguracji wszystkiego i uruchomienia "na raz" kilku serwisów.
To się tylko wydaje toporne, ale mając plik i wersjonując go sobie w repozytorium git mam historię zmian, a uruchomienie to krótka komenda [ docker-compose up -d . ]
Zamiast klikać i wypełniać jakieś pola, mam wszystko w pliku.
Docker Desktop pozwala korzystać z poleceń w terminalu, i tę drogę zarządzania proponuję opanować.

Kosmonauta1piorunów

@dext3 z latest tak samo w mavenie też każdy zaleca konkretne wersje i ich kontrolowania. Bo nowa wersja i się wszystko wypierdziela. A tak potrzeba wybierasz, testujesz, pozostajesz lub wracasz do poprzedniej.

Osobistość0piorunów

@dext3

"Jak chcesz podbić wersję, to podbijasz, usuwasz istniejący kontener i odpalasz na nowo z pliku."

o to mi chodzi jak to zrobić na Docke Desktop? Bo normalnie jak odpalam obraz to mam takie okno i musze wszystko z palca wprowadzać ręcznie.

Gwiazdor0piorunów

@NrmvY no ale tak jest właśnie najprościej...
Tworzysz jeden plik, w którym trzymasz załą konfigurację, łącznie ze zmiennymi środowiskowymi. Jak chcesz podbić wersję, to podbijasz, usuwasz istniejący kontener i odpalasz na nowo z pliku.
I jedna uwaga - raczej powinno się unikać korzystania z tagu "latest", lepiej wskazywać konkretną wersję.

Kompan0piorunów

Tak, tak to działa. Nie musisz myśleć co jest w nowym obrazie i modyfikować istniejącego kontenera, bo właśnie po to dostajesz nowy, gotowy obraz.

Oraz tak, konfiguracja powinna być wydzielona, czy to przez zmienne środowiskowe czy przez wolumeny. Jeśli chodzi o docker compose to jest to wrapper na konfigurację, która robisz z palca plus kilka innych funkcji.