
Publikacja obrazu w Docker Hub i uruchamianie na zewnętrznej instancji
W poprzednich częściach serii nauczyliśmy się:
- jak stworzyć aplikację i uruchomić ją w kontenerze Dockera,
- jak aktualizować kod i ponownie budować obraz.
Teraz pójdziemy krok dalej – opublikujemy nasz obraz w Docker Hub, aby można go było uruchomić na dowolnym komputerze lub w chmurze.
1. Tworzenie repozytorium w Docker Hub
- Zaloguj się na Docker Hub.
- Kliknij Create Repository.
- Podaj nazwę (np.
getting-started
) i ustaw repozytorium jako Public, aby inni mogli je pobrać.
2. Pushowanie obrazu do Docker Hub
a) Próba pushowania
Jeśli spróbujesz:
docker push docker/getting-started
prawdopodobnie zobaczysz błąd:
denied: requested access to the resource is denied
Dlaczego? Bo taki obraz lokalnie nie istnieje pod tą nazwą. Musimy go przygotować.
b) Logowanie do Docker Hub
Najpierw zaloguj się w terminalu:
docker login -u YOUR-USER-NAME
Podaj swoje hasło do Docker Hub.
c) Tagowanie obrazu
Musimy nadać obrazowi właściwą nazwę w formacie:
YOUR-USER-NAME/repository-name
W naszym przypadku:
docker tag getting-started YOUR-USER-NAME/getting-started
Teraz mamy lokalny obraz o nowej nazwie, zgodnej z repozytorium w Docker Hub.
d) Pushowanie obrazu
Wystarczy teraz wykonać:
docker push YOUR-USER-NAME/getting-started
Jeśli wszystko pójdzie dobrze, obraz zostanie przesłany i będzie dostępny w Twoim repozytorium.
3. Uruchamianie obrazu na nowej instancji
Spróbujmy teraz uruchomić naszą aplikację w zewnętrznym środowisku – np. w Play with Docker.
a) Otwórz Play with Docker
Zaloguj się przy użyciu swojego konta Docker Hub.
b) Utwórz instancję
Kliknij +ADD NEW INSTANCE, aby uruchomić nową maszynę z Dockerem.
c) Uruchom aplikację
W terminalu instancji wpisz:
docker run -dp 3000:3000 YOUR-USER-NAME/getting-started
Docker pobierze Twój obraz z Docker Hub i uruchomi aplikację.
d) Otwórz port
Kliknij przycisk Open Port, wpisz 3000
i potwierdź.
Twoja aplikacja powinna się otworzyć w nowej zakładce 🎉