Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Tworzenie,uruchamianieiudostępnianieobrazukontenera
33
varhandler=function(request,response){
console.log("Receivedrequestfrom"+request.connection.remoteAddress);
response.writeHead(200);
response.end("You'vehit"+os.hostname()+"\n");
};
varwww=http.createServer(handler);
www.listen(8080);
Powinnobyćjasne,cotenkodrobi.UruchamiaonserwerHTTPnaporcie8080.
SerwerodpowiadanakażdeżądaniekodemstatusuHTTP
200OK
oraztekstem
"You've
hit<hostname>"
.Proceduraobsługiżądaniawypisujetakżedowyjściastandardowego
adresIPklienta,czegobędziemypóźniejpotrzebować.
UWAGA
Zwróconanazwahostajestrzeczywistąnazwąhostaserwera,anie
nazwą,którąklientwysyławnagłówku
Host
żądaniaHTTP.
MożemynastępniepobraćizainstalowaćNode.js,abybezpośrednioprzetesto-
waćnasząaplikację,aleniejesttokonieczne,gdyżużyjemyDockeradospakowania
aplikacjiwobrazkonteneraiumożliwimyjegouruchomieniewdowolnymmiejscu,
bezkoniecznościpobieraniaaniinstalowaniaczegokolwiek(zwyjątkiemDockera,
którymusibyćzainstalowanynakomputerze,naktórymchcemyuruchomićobraz).
2.1.3TworzenieDockerflledlaobrazu
Abyspakowaćaplikacjęwobraz,musimynajpierwutworzyćplikonazwieDocker-
file,zawierającylistęinstrukcji,któreDockerbędziewykonywaćpodczasbudowania
obrazu.Dockerfilemusiznajdowaćsięwtymsamymkatalogucoplikapp.jsipowinien
zawieraćpoleceniapokazanewponiższymlistingu.
Listing2.3PlikDockerflledlabudowaniaobrazukonteneradlanaszejaplikacji
FROMnode:7
ADDapp.js/app.js
ENTRYPOINT["node","app.js"]
Wiersz
FROM
definiujeobrazkontenera,któregoużyjemyjakopunktuwyjścia
(obrazu,naktórymzbudujemynaszobraz).Wtymprzypadkuużywamyobrazukon-
tenera
node
zeznacznikiem
7
.Wdrugimwierszudodajemyplikapp.jszkatalogu
lokalnegodogłównegokataloguwobrazie,podsamąnazwą(app.js).Nakoniec
wtrzecimwierszudefiniujemy,jakiepoleceniepowinnozostaćwykonane,gdyktoś
uruchomiobraz.Wtymprzypadkupolecenieto
nodeapp.js
.