‫Kami sebelumnya berbicara tentang file YAML Penulisan Docker dan dalam kuliah ini, kita akan
‫berbicara tentang baris perintah penulisan. Persyaratan untuk kuliah ini seperti yang lainnya untuk bagian ini
‫di mana Anda benar-benar perlu mengetahui gambar dan wadah, dan bagaimana menggunakannya dan konsep di sekitar mereka dari bagian sebelumnya, sehingga
‫Anda dapat menggunakan semua yang ada di dalam perintah penulisan dan YAML mengajukan. Alat baris perintah
‫Docker Compose sebenarnya terpisah dari alat Docker.
‫Ini sebenarnya biner yang terpisah. Jika Anda menggunakan Docker untuk Windows atau Docker untuk
‫Mac, sebenarnya dibundel dengan itu.
‫Jika Anda juga menggunakan kotak alat di Windows 7, itu bundel dengan itu.
‫Tetapi jika Anda menggunakan Linux, Anda harus mengunduhnya secara terpisah dan Anda bisa mendapatkannya di GitHub. com / docker / compose, tetapi
‫Anda juga bisa mencarinya di Google, dan akan ada tautan di referensi untuk
‫bagian ini.
‫Tetapi saya harus menyatakan dengan sangat cepat bahwa itu tidak dirancang untuk menjadi alat tingkat produksi.
‫Ini sangat ideal untuk pengembangan lokal dan menguji hal-hal dengan sangat cepat yang mungkin rumit untuk
‫mengetikkan banyak perintah dari baris perintah. Dua perintah umum yang kami gunakan akan
‫menjadi docker compose, yang sejauh ini mungkin yang Anda ketikkan 90% dari waktu.
‫Ini adalah toko serba ada.
‫Pada dasarnya ini adalah perintah tunggal untuk melakukan segala hal dalam file penulisan, termasuk membuat volume, membuat jaringan, memulai
‫semua wadah dengan semua opsi konfigurasi mereka. Kemudian untuk membersihkan ketika Anda
‫selesai, buruh pelabuhan menulis, yang sebenarnya banyak orang lupa untuk melakukannya, akan
‫benar-benar membersihkan setelah Anda. Itu akan menyingkirkan kontainer, menghapus jaringan dan volume yang tidak diperlukan lagi.
‫Ini memungkinkan Anda, dengan dua perintah ini, untuk dengan cepat masuk dan keluar dari lingkungan yang berbeda untuk pengembangan.
‫Di sinilah saya benar-benar mendapatkan perhatian dari pengembang yang terbiasa menggunakan gelandangan dan alat-alat lain
‫untuk menyesuaikan lingkungan yang rumit secara lokal yang mereka butuhkan untuk pengembangan.
‫Setelah saya menunjukkan kepada mereka Docker Compose dan file penulisan dan betapa mudahnya untuk menggunakannya bersama dengan Dockerfile, itu
‫benar-benar mulai mengklik untuk mereka bahwa ini bisa menjadi cara yang lebih baik dan cara yang lebih dapat diandalkan untuk mengatur
‫lingkungan mereka.
‫Dan itu tidak memerlukan waktu untuk mengatur
‫VM yang berbeda atau kompleksitas mengelola lingkungan mesin virtual.
‫Hanya untuk memberi Anda sedikit rasa, jika Anda memiliki proyek di mana Anda memiliki proses khas onboarding pengembang baru itu
‫semua tentang belajar cara mendapatkan alat yang tepat untuk sistem mereka, dan mesin virtual yang
‫tepat diunduh, dan pengaya yang tepat , dan semua hal yang biasanya mereka hanya
‫perlu membangun lingkungan yang direplikasi untuk, dengan Docker
‫Compose, semudah mengkloning lingkungan yang memiliki file penulisan Anda dari beberapa repo di suatu tempat dan kemudian
‫menjalankan docker menyusun perintah.
‫Ini bisa sangat mudah.
‫Mari melompat dan bermain-main. Saya di direktori contoh penulisan 2. Direktori sampel 1 hanyalah
‫beberapa contoh visual yang kami tunjukkan dalam kuliah terakhir.
‫Tetapi dalam hal ini, kita akan dapat benar-benar menjalankan yang ini dan mendapatkan hasil yang cepat.
‫Saya hanya akan membuat buruh pelabuhan menulis.
‫Sebenarnya, sebelum kita melakukan itu, izinkan saya menunjukkan kepada Anda apa itu.
‫Ini memiliki dua layanan, atau dua kontainer, dan yang pertama adalah server Nginx yang dikonfigurasi sebagai
‫proxy dalam kasus ini.
‫Dan itu akan mendengarkan pada port 80 saya di mesin lokal saya.
‫Anda akan melihat ada perintah volume di sana di mana saya benar-benar telah melakukan bind mount ke file dalam direktori ini
‫yang disebut file konfigurasi nginx, dan itu benar-benar file kecil yang sangat sederhana.
‫Belum tentu penting bagi kita untuk mengetahui cara file itu bekerja. Itu hanya menunjukkan bagaimana, dalam hal
‫ini, saya benar-benar mengambil file di lingkungan lokal saya. Katakanlah direktori ini adalah repositori Git
‫yang menyimpan file konfigurasi ini untuk saya. Ini memungkinkan saya untuk memetakan file itu ke dalam wadah dan saya
‫benar-benar, pada akhirnya, Anda akan melihatnya mengatakan, 'ro,' itu berarti hanya membaca, berarti saya tidak dapat mengubahnya dalam wadah.
‫Itu belum tentu diperlukan di sini. Saya hanya ingin menunjukkan kepada Anda bahwa
‫itulah yang akan Anda lakukan dalam kasus ini. File konfigurasi itu sebenarnya memberitahu Nginx,
‫'alih-alih menjadi server
‫web, saya ingin Anda menjadi proxy terbalik, dan duduk di depan server lain,' yang dalam
‫hal ini kami memanggil server web kami, dengan layanannya nama, dan itu menjalankan server Apache 2, yang merupakan httpd gambar
‫dari repositori gambar resmi di Docker Hub.
‫Anda juga dapat melihat, di bagian atas, saya telah menentukan versi di sini. Begitulah cara saya melakukan itu.
‫Di dalam garis gambar.
‫Jadi, apa yang harus terjadi adalah ketika saya mengetik buruh pelabuhan ini, itu harus memulai kedua wadah. Seharusnya membuat jaringan pribadi
‫untuk mereka berdua.
‫Ini akan secara otomatis mengikat mount file itu.
‫Ini akan membuka port, dan akan mulai membuang log ke layar saya.
‫Anda akan melihat bagaimana di sana, katanya, 'menciptakan dua wadah ini. “Ini sebenarnya menciptakan
‫jaringan.
‫Anda akan melihat di file saya, saya tidak menentukan area jaringan, atau area volume karena sebenarnya
‫tidak diperlukan.
‫Mereka hanya diperlukan jika saya perlu melakukan beberapa hal khusus di jaringan, seperti mungkin mengubah alamat IP
‫default atau mengubah driver jaringan yang digunakan.
‫Atau dalam kasus volume, saya dapat membuat volume bernama, atau menggunakan pengandar volume yang berbeda, dan kita akan
‫membahas semua itu nanti di bagian lanjutan.
‫Asal tahu saja, sesederhana itulah file-file ini.
‫Anda biasanya tidak membutuhkan semua itu.
‫Fitur-fitur itu ada di sana jika Anda membutuhkannya, tetapi biasanya perintah-perintah kecil yang sangat sederhana ini akan
‫membuat Anda maju.
‫Apa yang telah saya lakukan? Sekarang ini adalah server Apache saya dan server Nginx saya.
‫Anda akan melihat log sebenarnya berwarna di sini.
‫Itu fitur rapi dari Compose yang belum tentu Anda dapatkan di luar kotak
‫dengan Docker adalah ia akan mencatat semua kontainer yang sedang dijalankan di layar di latar depan.
‫Saya selalu dapat melakukan hal yang sama seperti yang saya lakukan dengan Docker dan menjalankan docker
‫compose -d, yang akan menjalankannya di latar belakang. Tapi itu bagus untuk melihat ketika saya mengembangkan atau menguji sesuatu secara lokal, bahwa
‫saya punya log saya tepat di layar.
‫Jika saya melompati browser saya, dan kemudian pergi ke localhost, Anda akan melihat bahwa ia mengatakan, 'Ini berfungsi. 'Itu sebenarnya yang
‫dibalas server Apache, bukan server Nginx.
‫Lalu lintas sebenarnya melalui proxy reverse Nginx.
‫Mengulangi lalu lintas ke server Apache. Server Apache merespons dengan file HTML
‫dasar standar karena kami tidak mengubah apa pun.
‫Kemudian Nginx mengulanginya kembali padaku.
‫Jadi, ini adalah server web dasar Anda, konfigurasi proxy web.
‫Anda bisa tahu bahwa lalu lintas menghantam keduanya. Mereka sebenarnya bekerja melalui proxy
‫karena proxy
‫sebenarnya warna yang berbeda di sini. Log memompa keluar di sini dengan warna acak untuk setiap wadah di pengaturan saya sehingga saya
‫dapat dengan mudah melihat apa yang terjadi.
‫Jika saya menekan refresh beberapa kali, Anda akan melihat lalu lintas muncul. Kemudian pertama-tama mengenai proxy dan server
‫web backend.
‫Jika saya ingin menghentikan ini di sini, saya akan menekan Control c untuk menghentikan penulisan di layar saya.
‫Saya benar-benar bisa menjalankannya lagi dengan -d untuk menjalankannya di latar belakang.
‫Anda dapat melihat di sini bahwa saya dapat menyegarkannya dan itu masih ada di sana. Saya bisa membuat buruh pelabuhan membuat log untuk melihat output yang sama dari
‫log yang saya lihat beberapa waktu lalu.
‫Banyak perintah yang mungkin Anda gunakan di Docker juga ada di Docker Compose. Sungguh apa yang baru
‫dilakukan Compose adalah berbicara dengan API Docker di
‫latar belakang atas nama Docker CLI. Ini seperti pengganti Docker CLI yang masih berbicara dengan
‫API server Docker di backend.
‫Tentu saja, bantuan besar di sini, buruh pelabuhan menulis bantuan, menunjukkan kepada saya semua perintah yang bisa saya jalankan.
‫Anda akan melihat banyak dari ini terlihat sangat akrab karena mereka setara
‫dengan perintah buruh pelabuhan hanya menggunakan konteks konfigurasi file penulisan.
‫Saya ingin membersihkan semua ini karena masih berjalan. Saya dapat membuat buruh pelabuhan menulis ps di sini, yang akan menunjukkan kepada saya
‫bahwa kedua kontainer saya sedang berjalan.
‫Saya bisa membuat buruh pelabuhan menulis top untuk benar-benar daftar semua layanan yang berjalan di dalamnya dalam
‫output yang diformat bagus.
‫Itu keren sekali.
‫Lalu akhirnya, saya bisa membuat buruh pelabuhan menulis untuk berhenti dan membersihkan barang-barang saya yang baru saja saya mulai.
‫Anda akan melihat bahwa itu memberi tahu saya apa yang dilakukan di sana. Bersihkan semuanya.
‫Sangat bagus.
‫Ini hanya sedikit rasa.
‫Kita akan menggunakan Docker Compose banyak sepanjang sisa kursus ini
‫untuk pengembangan lokal dan pengujian. Kemudian kami akan terus menggunakan file Penulis Docker
‫saat kami beralih ke masalah produksi untuk bagaimana kami menggunakan lingkungan yang kompleks dengan file YAML sederhana.