‫In regula. Acestea sunt răspunsurile pentru atribuirea creării primului fișier Docker. Dacă sunt în rădăcina
‫magaziei noastre, pe care ați descărcat-o de la începutul acestui curs, ar
‫trebui să fim capabili să intrăm în task-ul dockerfile 1. Dacă ne uităm acolo, am doar un
‫fișier despre care îmi pasă, și acesta este dosarul Docker.
‫Probabil, aceasta este o sursă pe care cineva mi-a dat-o și este o aplicație dev care utilizează Node. js, și nu prea știu prea multe despre
‫el, așa că am de gând să editez fișierul Docker.
‫O.K.
‫Dacă urmez instrucțiunile de la dezvoltator, știu că primul lucru pe care trebuie să-l fac este
‫că trebuie să merg să-mi iau imaginea FROM. Și știu că trebuie să folosesc funcția de nod. Lasă-mă să mă uit încoace.
‫Dreapta. Este oficialul nodului.
‫Am nevoie de Versiunea 6 care rulează pe Alpine. Deci sunt 6 Alpine.
‫In regula. Deci, 6-alpine.
‫O.K. Următorul lucru ... Trebuie să expun portul 3000.
‫Expun 3000 aici, pentru că asta este ceea ce aplicația este proiectată să funcționeze.
‫Dar când o conduc mai târziu, cu docker run, trebuie să-mi amintesc că va trebui
‫să folosesc -p cu port 80 mergând la port 3000.
‫In regula.
‫Acesta trebuie să folosească un manager de pachete pentru
‫a instala această aplicație, tini. Voi folosi o comandă de rulare pentru asta.
‫Apoi o să fac un director.
‫In regula.
‫Le voi face doar comenzi separate de rulare ... rulați apk add
‫și apoi executați mkdir.
‫O.K. Apoi trebuie să copiez într-un singur fișier arata.
‫Deci, aș putea schimba directorul de lucru la directorul pe care tocmai l-am creat.
‫Deci, aplicația sursă de utilizator WORKDIR. Asta mă va salva mai târziu.
‫Pot să fac un pachet JON de pachete JON
‫pentru copie. In regula. Apoi trebuie să rulez o comandă de instalare. Se pare că va fi o fugă. Aceasta spune că rulați o altă
‫comandă pentru a curăța.
‫In regula.
‫Ei bine, de obicei, când executați o comandă de curățare, doriți să rulați aceeași linie sau aceeași linie de rulare cu
‫instalarea reală.
‫În acest fel elimină totul în același timp și obțineți doar un singur strat de imagine.
‫Acest lucru este cel mai bun pentru spațiul de imagine.
‫Deci, o voi adăuga aici.
‫Și ceea ce dublu & semnul, sau ampersand așa cum se numește, face aici este de fapt este condiționată.
‫Se spune la linia de comandă pe Linux care spune: "Hei, dacă ați făcut prima și este de succes, atunci faceți comanda
‫a doua. "S-ar putea
‫să vedeți, de asemenea, oameni care uneori pun punct și virgulă, și asta este bine.
‫Diferența este că un punct și virgulă nu are nici o dependență de faptul dacă prima comandă a avut succes sau nu.
‫Pur și simplu rulează al doilea, indiferent.
‫Așa că îmi place dublu ampersand.
‫In regula.
‫Se copiază alte fișiere. Dacă o să copiez în totul, o să fac o a .. Este o modalitate ușoară de a face acest lucru.
‫Asigurați-vă că există un spațiu în mijloc.
‫În realitate, aceasta
‫înseamnă: "Copiați totul din directorul meu curent pe gazdă în directorul curent de lucru din imagine. ' O.K.
‫Sunt la ultimul.
‫Iar asta pare puțin complicat.
‫Am patru părți diferite ale comenzii de care trebuie să alerg acolo.
‫Deci, în acest format, trebuie să rulez Tini, apoi o virgulă.
‫Deci, acesta este într-un format JSON.
‫Această comandă specifică. -, nod bin www.
‫Și dacă aș fi fost curios despre asta,
‫aș putea să merg mereu la browserul meu și să docker alerga sau docker construi cmd.
‫Și pariez că te referi la Dockerfile. Și aici,
‫în această pagină, aș putea merge la CMD. Și vorbește despre forma exactă. Dacă citiți aici, veți
‫observa că există ceva numit "shell". Și mai există ceva despre care menționează
‫un punct de intrare.
‫Vom vorbi despre asta mai tarziu in cursul unei sectiuni Dockerfile mai avansate.
‫Dar pentru moment, acest lucru este bun.
‫Să încercăm să o construim. docker build. Nu-mi pasă chiar ceea ce eu numesc acum.
‫Încerc doar să testez construirea și, de obicei, construcțiile mele nu funcționează pentru prima dată. Deci, o
‫să-l numesc testnode. Voi construi acest director.
‫O.K.
‫Se pare că a fost construit corect.
‫Să vedem dacă o puteți executa.
‫Am de gând să fac un
‫-rm pentru că nu-mi pasă să-l păstrez după ce am testat-o, așa că am de gând să fac asta.
‫Nu va trebui să o numesc.
‫Trebuie să pun într-un port pentru a deschide portul. Vrea să ruleze pe 80, dar ascultă la 3000. O.K.
‫Acesta este de fapt un mesaj obișnuit pe care
‫îl avem de la Tini, în interiorul Alpine, așa că nu mă voi preocupa prea mult.
‫Să vedem dacă funcționează.
‫Dulce. Vom vedea jurnalele de acolo.
‫O.K.
‫Se pare că e ..
‫mulțumesc, căpitan Picard.
‫Apreciez aplauzele.
‫Apreciez sprijinul.
‫Mulțumiri.
‫In regula.
‫Controlați-vă de acolo. Acum ar trebui să fie
‫în partea de sus a listei mele de imagini.
‫Trebuie să îl redenumesc înainte să îl pun pe Docker Hub.
‫Deci, eticheta docker, și cred că formatul este vechi și nou. Da.
‫Deci, eticheta docker testnode.
‫Voi numi nodul
‫de testare a bretfisher-ului.
‫Și o voi lăsa cel mai târziu.
‫Deci, docker împinge, și asta. Tot ce trebuie să ne facem griji este numele. Deci, nodul de
‫testare a bretfisherului push docker.
‫In regula. Să mergem la Docker și să ne uităm.
‫Acolo mergem, testarea nodului.
‫O.K.
‫Voi șterge ecranul și imaginile de andocare.
‫Și, este acolo. Am de gând să-l eliminați, testarea imaginilor la docker
‫rm bretfisher.
‫In regula. Acum, de fapt, o să o execut, containerul de docker rulează -rm -p
‫80 3000 exact ca înainte.
‫Atunci o să-l numesc nod de testare a bretfisher-ului.
‫Ar trebui să îl descărcați și să-l rulați.
‫In regula.
‫Dacă mă întorc peste browser-ul meu, localhost, acolo este. Pot să mă împrospătez doar pentru a te asigura.
‫Da. Rece.