Docker – Wprowadzenie do konteneryzacji (cz. 2)

Aktualizacja aplikacji i ponowne uruchomienie kontenera

W poprzednim wpisie pokazaliśmy, jak z prostą aplikacją, zbudować jej obraz przy użyciu Dockera i uruchomić ją w kontenerze. Teraz zajmiemy się tym, co zrobić, gdy zmienimy coś w kodzie źródłowym aplikacji – czyli typowym scenariuszem pracy deweloperskiej.

1. Aktualizacja kodu źródłowego

Załóżmy, że edytujesz plik src/index.js.
Chcesz, żeby po tej zmianie aplikacja zastosowała zmiany – ale aktualnie działający kontener nadal pokazuje starą aplikację.

2. Budowanie nowego obrazu

Po dokonaniu zmian w kodzie musisz zbudować nowy obraz, który zawiera zaktualizowaną wersję aplikacji:

docker build -t getting-started .

To nadpisze poprzedni obraz o nazwie getting-started.

3. Uruchomienie nowej wersji kontenera

Spróbuj uruchomić nowy kontener:

docker run -dp 3000:3000 getting-started

⚠️ Błąd! Prawdopodobnie otrzymasz komunikat, że port 3000 jest już zajęty. To dlatego, że stary kontener nadal działa.

4. Sprawdzenie i usunięcie starego kontenera

a) Sprawdź, które kontenery są uruchomione:

docker ps

Zobaczysz coś takiego:

CONTAINER ID IMAGE ... PORTS NAMES
abc123456789 getting-started ... 0.0.0.0:3000->3000/tcp inspiring_shaw

b) Zatrzymaj i usuń kontener:

Możesz to zrobić na dwa sposoby:

Metoda 1: Ręczne zatrzymanie i usunięcie

docker stop abc123456789

docker rm abc123456789

Metoda 2: Jednym poleceniem

docker rm -f abc123456789

Metoda 3: GUI – Docker Desktop

Jeśli korzystasz z Docker Desktop, możesz wejść do interfejsu graficznego, znaleźć uruchomiony kontener, kliknąć “Stop” i potem “Remove”.

5. Uruchomienie nowej wersji aplikacji

Po usunięciu starego kontenera uruchom aplikację ponownie:

docker run -dp 3000:3000 getting-started

Wejdź na http://localhost:3000 i zobacz nowy komunikat 🎉

Leave a Reply