‫Baiklah. Ini adalah jawaban untuk tugas menciptakan Dockerfile pertama kami. Jika saya berada
‫di root repositori kami, yang telah Anda unduh sejak awal kursus
‫ini, kami seharusnya dapat masuk ke tugas dockerfile 1. Jika kita melihat di sana, saya hanya punya
‫satu file yang sangat saya pedulikan, dan itu adalah Dockerfile.
‫Agaknya, ini adalah sumber yang seseorang berikan kepada saya, dan mereka adalah pengembang aplikasi yang menggunakan Node. js, dan saya tidak terlalu tahu
‫tentang itu, jadi saya hanya akan mengedit Dockerfile.
‫BAIK.
‫Jika saya mengikuti instruksi dari pengembang, saya tahu hal pertama yang perlu saya lakukan
‫adalah saya harus mendapatkan gambar FROM saya. Dan saya tahu saya harus menggunakan simpul resmi. Biarkan aku mencarinya.
‫Kanan. Ada simpul resmi.
‫Saya perlu Versi 6 berjalan di Alpine. Jadi ada 6 Alpine.
‫Baiklah. Jadi, 6-alpine.
‫Baik. Hal selanjutnya ... Saya perlu mengekspos port 3000.
‫Saya mengekspos 3000 di sini karena itulah aplikasi dirancang untuk berjalan.
‫Tetapi ketika saya menjalankannya nanti dengan buruh pelabuhan, saya harus ingat bahwa saya
‫harus menggunakan -p dengan port 80 ke port 3000.
‫Baiklah.
‫Yang ini perlu menggunakan manajer paket untuk
‫menginstal aplikasi ini, tini. Saya akan menggunakan perintah run untuk itu.
‫Lalu aku akan membuat direktori.
‫Baiklah.
‫Saya hanya akan membuat mereka menjalankan perintah terpisah ... jalankan apk add,
‫dan kemudian jalankan mkdir.
‫BAIK. Maka saya perlu menyalin dalam satu file sepertinya.
‫Jadi, saya mungkin juga mengubah direktori kerja ke direktori yang baru saja kita buat.
‫Jadi aplikasi sumber pengguna WORKDIR. Itu akan menghemat waktu saya nanti.
‫Saya dapat melakukan paket COPY json
‫paket json. Baiklah. Maka saya perlu menjalankan perintah install. Sepertinya itu akan berjalan. Yang ini mengatakan jalankan perintah
‫lain untuk membersihkan.
‫Baiklah.
‫Nah, biasanya ketika Anda menjalankan perintah pembersihan, Anda ingin menjalankan baris yang sama atau baris run yang sama dengan instalasi
‫yang sebenarnya.
‫Dengan begitu ia menghapus semuanya sekaligus dan Anda hanya mendapatkan satu layer gambar.
‫Ini yang terbaik untuk ruang gambar.
‫Jadi, saya akan menambahkannya di sini.
‫Dan apa yang dobel tanda &, atau ampersand seperti namanya, apakah di sini itu sebenarnya bersyarat.
‫Ia mengatakan ke baris perintah di Linux yang mengatakan, 'Hei, jika Anda telah melakukan yang pertama dan itu berhasil, maka lakukan
‫perintah kedua. "Anda
‫mungkin juga melihat orang-orang kadang-kadang menempatkan tanda koma, dan itu juga tidak masalah.
‫Perbedaannya adalah titik koma tidak memiliki ketergantungan pada apakah perintah pertama berhasil atau tidak.
‫Itu hanya menjalankan yang kedua terlepas.
‫Jadi saya suka ampersand ganda.
‫Baiklah.
‫Menyalin beberapa file sepertinya. Jika saya akan menyalin semuanya, saya hanya akan melakukan .. Itu cara mudah untuk melakukannya.
‫Pastikan ada ruang di tengah.
‫Itu pada dasarnya
‫mengatakan, 'Salin semuanya dari direktori saya saat ini di host ke direktori kerja saat ini di gambar. ' BAIK.
‫Saya turun ke yang terakhir.
‫Dan yang ini terlihat sedikit rumit.
‫Saya punya empat bagian berbeda dari perintah yang harus saya jalankan di sana.
‫Jadi dengan format ini, saya perlu menjalankan tini, lalu koma.
‫Jadi ini dalam format JSON.
‫Bait perintah khusus ini. -, simpul bin www.
‫Dan jika saya ingin tahu tentang itu,
‫saya selalu bisa pergi ke browser saya dan melakukan docker run atau docker build cmd.
‫Dan saya yakin Anda referensi Dockerfile. Dan di
‫sini di halaman ini, saya bisa pergi ke cmd. Dan itu berbicara tentang bentuk yang tepat. Jika Anda membaca di sini, Anda akan
‫benar-benar memperhatikan bahwa ada sesuatu yang disebut formulir shell. Dan ada juga sesuatu yang mereka
‫sebutkan tentang titik masuk.
‫Kita akan membicarakannya nanti dalam kursus di bagian Dockerfile yang lebih maju.
‫Tapi untuk sekarang, ini bagus.
‫Mari kita coba membangunnya. membangun buruh pelabuhan. Saya tidak begitu peduli dengan apa yang saya sebut sekarang.
‫Saya hanya mencoba menguji bangunan dan biasanya bangunan saya tidak berfungsi pertama kali. Jadi, saya
‫hanya akan menyebutnya testnode. Saya akan membangun direktori ini.
‫BAIK.
‫Sepertinya dibangun dengan benar.
‫Mari kita lihat apakah Anda bisa menjalankannya.
‫Saya akan melakukan --rm
‫karena saya benar-benar tidak peduli untuk menyimpannya setelah saya mengujinya, jadi saya hanya akan melakukannya.
‫Saya tidak perlu menyebutkannya.
‫Saya perlu memasukkan port untuk membuka port. Ia ingin berjalan di 80 tetapi mendengarkan 3000. BAIK.
‫Itu sebenarnya pesan normal yang kami dapatkan
‫dari tini, di dalam Alpine, jadi saya tidak akan terlalu khawatir tentang itu.
‫Mari kita lihat apakah itu berfungsi.
‫Manis. Kami akan melihat log di sana.
‫BAIK.
‫Sepertinya itu ..
‫terima kasih, Kapten Picard.
‫Saya menghargai tepuk tangan.
‫Saya menghargai dukungannya.
‫Terima kasih.
‫Baiklah.
‫Kontrol c keluar dari sana. Sekarang, itu harus
‫di bagian atas daftar gambar saya
‫Saya harus mengganti nama sebelum memasukkannya ke Docker Hub.
‫Jadi, tag buruh pelabuhan, dan saya percaya formatnya adalah yang lama dan yang baru. Ya.
‫Jadi, tag docker testnode.
‫Saya akan
‫menyebutnya simpul pengujian bretfisher.
‫Dan saya akan meninggalkannya paling lambat.
‫Jadi, buruh pelabuhan mendorong, dan ini. Yang perlu kita khawatirkan hanyalah nama. Jadi, buruh
‫pelabuhan mendorong simpul pengujian bretfisher.
‫Baiklah. Mari kita pergi ke Docker dan lihat.
‫Kita mulai, menguji simpul.
‫BAIK.
‫Saya akan menghapus gambar layar dan buruh pelabuhan ls.
‫Dan itu ada di sana. Saya akan menghapusnya, gambar docker rm
‫bretfisher testing.
‫Baiklah. Sekarang saya benar-benar akan menjalankannya, menjalankan docker container --rm -p
‫80 3000 seperti sebelumnya.
‫Lalu aku benar-benar akan menyebutnya simpul pengujian bretfisher.
‫Itu harus mengunduhnya dan menjalankannya.
‫Baiklah.
‫Jika saya kembali ke browser saya, localhost, itu dia. Saya dapat menekan refresh hanya untuk memastikan.
‫Iya nih. Keren.