Jestem bardzo nowy w firmie Docker i obecnie staram się zrozumieć, czy istnieje jakikolwiek przewodnik po aktualizacji oprogramowania, który działa w kontenerze dokowania w bardzo dużym środowisku rozproszonym. Znalazłem już kilka wpisów dotyczących aktualizowania bazy danych MySQL w oknie dokowanym itp. Daje to dobrą wskazówkę dla oprogramowania przechowującego dane, ale co jeśli chcesz zaktualizować inne części lub własny pakiet oprogramowania lub usług, które są dystrybuowane i używane przez kilka innych obrazów w doku dzięki funkcji dokowania?Jak zaktualizować oprogramowanie wewnątrz kontenera w doku?
Czy jest ktoś z doświadczeniem z prawdziwego życia robiącym to w takim środowisku, który może mi pomóc lub innym początkującym zrozumieć najlepsze praktyki w dokowaniu, jeśli takie istnieją.
Dzięki za pomoc!
Co zrobić, jeśli masz wiele małych pojemników skomponowanych z kompilatorem docker, który buduje twoje oprogramowanie? Czy te zmiany powodują przestój? W najlepszym wypadku nie chcę mieć czasu przestoju –
Jeśli część pliku Dockerfile odnoszącego się do wywołań kompilacji w 'docker-compose.yml' zawiera pobieranie i kompilowanie kodu źródłowego lub aktualizację za pośrednictwem menedżera pakietów, uruchomisz nowy obraz . Re: bez przestojów - czy możesz opublikować swój "docker-compose.yml", to może mi pomóc w ulepszeniu mojej odpowiedzi. – booyaa
Do tej pory jest to raczej pytanie teoretyczne niż coś, co robię w praktyce. Wystarczy pomyśleć o przykładzie z większym środowiskiem rozproszonym, a nie o przykładowym obrazie dokowanego. Aktualizacja przez menadżera pakietów oznacza, że po prostu łączysz się z obrazem przez ssh i uruchamiasz, na przykład 'npm'? Czy zrobiłbyś to wszystko w uruchomionym pojemniku, czy używałbyś innej wersji obrazu/kontenera i po prostu "magicznie" przestawiłbyś działanie z nową wersją? –