Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
32
rozdział2PierwszekrokizDockeremiKubernetes
uruchamianieinnychobrazów
Uruchamianieinnychistniejącychobrazówkontenerówodbywasięzasadniczotaksamo
jakwprzypadkuobrazu
busybox
.Wistociejesttoczęstojeszczeprostsze,gdyżzazwyczaj
niepotrzebujemyspecyfikowaćpoleceniadowykonania,jakwtymprzykładzie(
echo
"Helloworld"
).Polecenie,którepowinnozostaćwykonane,zazwyczajjestzaszyte
wsamymobrazie,alemożnatozastąpićwraziepotrzeby.Powyszukaniulubprzejrzeniu
obrazówpubliczniedostępnychwwitryniehttp://hub.docker.comlubinnympublicz-
nymrejestrzemożemynakazaćDockerowiuruchomićobrazjakponiżej:
$dockerrun<image>
wersjonowanieobrazówkontenerów
Wszystkiepakietyoprogramowaniaaktualizowane,zatemzazwyczajistniejewię-
cejniżjednawersjapakietu.Dockerwspieraposługiwaniesięwielomawersjamilub
wariantamitegosamegoobrazupodsamąnazwą.Każdywariantmusimiećunika-
towyznacznik(tag).Przyodwoływaniusiędoobrazubezjawnegowyspecyfikowania
znacznikaDockerprzyjmie,żeodwołujemysiędotakzwanegoznacznikalatest(naj-
świeższy).Abyuruchomićinnąwersjęobrazu,możemywyspecyfikowaćznacznikwraz
znazwąobrazu,jakponiżej:
$dockerrun<image>:<tag>
2.1.2TworzenietrywialnejaplikacjiNode.js
Teraz,gdymamyjużdziałającąkonfiguracjęDockera,utworzymyaplikację.Zbudu-
jemytrywialnąaplikacjęsieciowąNode.jsispakujemywobrazkontenera.Aplikacja
będzieprzyjmowaćżądaniaHTTPiodpowiadaćnazwąhostamaszyny,naktórejjest
uruchomiona.Wtensposóbbędziemymoglizobaczyć,żeaplikacjadziałającawkon-
tenerzewidziswojąwłasnąnazwęhosta,aniekomputeramacierzystego,mimoże
działawnimjakkażdyinnyproces.Przydasiętopóźniej,gdywdrożymyaplikację
wKubernetesiprzeskalujemywszerz(przeskalujemywpoziomie,czyliuruchomimy
wielewystąpieńaplikacji).Będziemymoglizobaczyć,żenaszeżądaniaHTTPdocierają
doróżnychwystąpieńaplikacji.
Naszaaplikacjabędzieskładaćsięzpojedynczegoplikuonazwieapp.js,którego
zawartośćpokazanajestwponiższymlistingu.
Listing2.2ProstaaplikacjaNode.js:app.js
consthttp=require('http');
constos=require('os');
console.log("Kubiaserverstarting...");