
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 🎉