Lubię gdy nadchodzi ten moment gdy w końcu projekt przy którym pracowaliśmy jest już w takiej fazie, że wypadałoby go wystawić choć trochę poza nasz komputer. 🙂
W ostatnim wpisie opisywałem w jaki sposób możemy opakować naszą aplikację w Dockera i udostępnić ją w repozytorium DockerHub. Dzisiaj pokażę jak ten obraz uruchomić na chmurze Amazona.
Tworzenie instancji
W AWS najpopularniejszym rozwiązaniem na postawienie prostego serwera jest utworzenie instancji w usłudze EC2 (nazewnictwo C2 czyli ECC czyli Elastic Compute Cloud).
Po zalogowaniu się do konsoli możemy od razu przejść do tworzenia instancji klikając przycisk Launch Instance

Wybierzemy system operacyjny – przykładowo zwykłego Debiana: Debian GNU/Linux 9 (Stretch)

Pomijam rozwodzenie się nad parametrami serwera. Na potrzeby tego wpisu wybrałem najtańszy – t2.nano.
Skonfigurujemy jeszcze Security Group – tak, aby nasza aplikacja była widoczna z zewnątrz. Aplikacja, którą chcę wystawić działa na porcie 8080.

Na koniec utworzymy jeszcze parę kluczy, które umożliwą nam połączenie się z serwerem po ssh.


Jak instancja będzie gotowa możemy podejrzeć przydzielone jej IP i połączyć się z serwerem.

AWS nawet daję nam małą ściągawkę w jaki sposób możemy się dostać na serwer. 🙂

Instalacja Dockera na serwerze
Ten krok jest bardzo ładnie opisany pod tym linkiem.
Uruchomienie naszej aplikacji
Jak już upewnimy się, że Docker został poprawnie zainstalowany komendą
docker --version

Możemy przejść do uruchomienia naszej aplikacji.
sudo docker run -p 8080:8008 -d mtszpater/my-example-app
Flaga -d, aby uruchomić kontener w tle. W tym momencie, o ile nie podaliśmy wersji, zostanie ściągnięta wersja ostatnia (latest). I widzimy jak wszystko ładnie się uruchomiło 🙂