‫W porządku. Oto odpowiedzi na zadanie utworzenia pierwszego pliku Docker. Jeśli znajduję się
‫w katalogu głównym naszego repozytorium, który pobrałeś od początku tego kursu,
‫powinniśmy być w stanie przejść do przypisania dockerfile 1. Jeśli się tam zajrzymy, mam tylko jeden
‫plik, który naprawdę mnie interesuje, i to jest plik Dockerfile.
‫Przypuszczam, że to jest źródło, które ktoś mi dał, i to jest programista używający Węzła. js, i nie wiem zbyt wiele
‫o tym, więc zamierzam edytować plik Dockerfile.
‫DOBRZE.
‫Jeśli postępuję zgodnie z instrukcjami od programisty, wiem, że pierwszą rzeczą, którą muszę zrobić, to
‫że muszę pobrać mój obraz z FROM. I wiem, że muszę użyć urzędnika węzła. Pozwól mi to sprawdzić.
‫Dobrze. Jest urzędnik węzła.
‫Potrzebuję wersji 6 działającej na Alpine. Jest 6 Alpine.
‫W porządku. Tak, 6-alpejski.
‫Dobrze. Następna rzecz... Muszę ujawnić port 3000.
‫Udostępniam tutaj 3000, ponieważ na to jest przeznaczona aplikacja.
‫Ale kiedy uruchomię go później z uruchomionym dokiem, muszę pamiętać, że będę musiał
‫użyć -p z portem 80 przechodzącym na port 3000.
‫W porządku.
‫Ten musi użyć menedżera pakietów, aby zainstalować
‫tę aplikację, tini. Użyję do tego polecenia uruchomienia.
‫Potem zrobię katalog.
‫W porządku.
‫Po prostu utworzę oddzielne polecenia uruchamiania ... uruchom apk add,
‫a następnie uruchom mkdir.
‫DOBRZE. Następnie muszę skopiować w jednym pliku, jak to wygląda.
‫Więc równie dobrze mogę zmienić katalog roboczy na ten właśnie katalog, który właśnie stworzyliśmy.
‫Tak więc aplikacja źródłowa dla użytkownika WORKDIR. To zaoszczędzi mi czasu później.
‫Mogę zrobić pakiet json w pakiecie
‫json. W porządku. Następnie muszę uruchomić polecenie instalacji. Wygląda na to, że to będzie bieg. Ten mówi, wykonaj polecenie,
‫aby posprzątać.
‫W porządku.
‫Cóż, zwykle po uruchomieniu polecenia czyszczenia, chcesz, aby uruchomiono tę samą linię lub tę samą linię uruchamiania, co
‫bieżąca instalacja.
‫W ten sposób usuwa wszystko wszystko w tym samym czasie i dostajesz tylko jedną warstwę obrazu.
‫Jest to najlepsze rozwiązanie w przypadku przestrzeni obrazów.
‫Więc dodam to tutaj.
‫A to, co podwójne i znak, lub nazwa handlowa, jak to się nazywa, jest w rzeczywistości warunkowe.
‫Mówi do wiersza poleceń w systemie Linux, który mówi: "Hej, jeśli zrobiłeś pierwszy i się udało, to wykonaj
‫drugie polecenie. "Możesz
‫również zobaczyć, że ludzie czasami umieszczają średnik, i to też jest w porządku.
‫Różnica polega na tym, że średnik nie zależy od tego, czy pierwsze polecenie zakończyło się powodzeniem.
‫Po prostu uruchamia drugą, niezależnie.
‫Więc lubię podwójny ampersand.
‫W porządku.
‫Kopiowanie więcej plików wygląda. Jeśli mam zamiar skopiować wszystko, zrobię tylko ... To prosty sposób na zrobienie tego.
‫Upewnij się, że na środku jest miejsce.
‫Zasadniczo mówi
‫się: "Skopiuj wszystko z mojego bieżącego katalogu na hoście do bieżącego katalogu roboczego w obrazie. ' DOBRZE.
‫Jestem na ostatnim.
‫A ten wygląda na nieco trudny.
‫Mam cztery różne części polecenia, które muszę tam uruchomić.
‫W tym formacie muszę uruchomić tini, a następnie przecinek.
‫To jest w formacie JSON.
‫Ta konkretna sekcja poleceń. -, bin node www.
‫A jeśli byłbym ciekawy tego, zawsze mogłem
‫przejść do mojej przeglądarki i wykonać uruchamianie w docku lub budowanie w systemie operacyjnym cmd.
‫I założę się, że jesteś odniesieniem do Dockerfile. I tutaj
‫na tej stronie mogłem przejść do cmd. I mówi o dokładnej formie. Jeśli przeczytasz tutaj, zauważysz, że
‫istnieje coś, co nazywa się formą powłoki. Jest też coś, o czym wspominają
‫o punkcie wejścia.
‫Porozmawiamy o tym w dalszej części kursu w bardziej zaawansowanej sekcji Dockerfile.
‫Ale na razie to jest dobre.
‫Spróbujmy to zbudować. budowanie dockera. Nie obchodzi mnie, jak to teraz nazywam.
‫Próbuję tylko przetestować kompilację i zazwyczaj moje kompilacje nie działają po raz pierwszy. Tak, zamierzam
‫nazwać to testnode. Zamierzam zbudować ten katalog.
‫DOBRZE.
‫Wygląda na to, że jest poprawnie zbudowany.
‫Zobaczmy, czy możesz go uruchomić.
‫Mam zamiar zrobić -rm, ponieważ
‫naprawdę nie zależy mi na tym, żeby go przetrzymać po przetestowaniu go, więc po prostu to zrobię.
‫Nie będę musiał go nazywać.
‫Muszę założyć port, żeby otworzyć port. Chce działać na 80, ale słucha na 3000. DOBRZE.
‫To jest normalny komunikat, który dostajemy
‫od tini, wewnątrz Alpine, więc nie będę się o to martwił.
‫Zobaczmy, czy to działa.
‫Słodkie. Zobaczymy tam dzienniki.
‫DOBRZE.
‫Wygląda jakby to było ...
‫dziękuję, kapitanie Picard.
‫Doceniam aplauz.
‫Doceniam wsparcie.
‫Dzięki.
‫W porządku.
‫Kontroluj c stamtąd. Teraz powinien znajdować
‫się na górze mojej listy obrazów.
‫Muszę zmienić nazwę, zanim wstawię ją do Docker Hub.
‫Tak więc, tag docker, i uważam, że format jest stary i nowy. Tak.
‫Tak więc testnode tagu docker.
‫Mam zamiar nazwać
‫to węzłem testowym bretfishera.
‫I zostawię to najpóźniej.
‫A więc, pchnij dok i to. Jedyne, o co musimy się martwić, to imię. Tak więc,
‫węzeł testowy push bretfisher'a.
‫W porządku. Przejdźmy do Dockera i spójrzmy.
‫Idziemy, testujemy węzeł.
‫DOBRZE.
‫Zamierzam wyczyścić ekran i obraz dokowania.
‫I jest tam. Zamierzam go usunąć, testowanie rm bretfisherów w
‫oknie dokowanym.
‫W porządku. Teraz mam zamiar go uruchomić, kontener kontenera dokowanego - rm -p 80
‫3000 tak jak wcześniej.
‫W takim razie mam zamiar nazwać go węzłem testowym bretfishera.
‫To powinno go pobrać i uruchomić.
‫W porządku.
‫Jeśli wrócę do mojej przeglądarki, localhost, tam jest. Mogę odświeżyć, żeby się upewnić.
‫Tak. Fajne.