‫Persyaratan untuk kuliah ini adalah Anda telah melihat kuliah jaringan sebelumnya dan memahami konsep-konsep
‫kunci untuk jaringan Docker dan perintah yang menyertainya.
‫Baiklah.
‫Dan kuliah ini, Anda akan belajar dan bermain dengan DNS dan bagaimana hal itu memengaruhi wadah di jaringan
‫khusus dan jaringan default.
‫Kita akan
‫membahas dengan cepat betapa pentingnya memiliki DNS yang baik karena Anda tidak dapat bergantung pada alamat IP
‫di dalam kontainer karena semuanya sangat dinamis. Kami akan melihat perbedaan antara jaringan default dan kustom
‫terkait dengan cara mereka menangani DNS.
‫Dan kemudian kita akan memeriksa opsi --link untuk menjalankan kontainer untuk mengaktifkan DNS pada jaringan jembatan
‫default.
‫Jadi ada satu hal lagi yang sangat penting bagi semua kontainer dan jaringan virtual
‫ini dan mereka saling berbicara; dan itu penamaan. Karena dalam dunia kontainer yang terus-menerus diluncurkan dan menghilang
‫serta bergerak dan berkembang dan menyusut, dan semua keindahan layanan mikro yang kita lihat muncul
‫di mana-mana, adalah bahwa kita tidak lagi dapat dengan mudah mengandalkan alamat IP sebagai cara untuk berbicara. dari
‫satu hal ke hal lainnya. Karena kami tidak dapat berasumsi dari menit ke menit bahwa
‫alamat IP bahkan akan sama.
‫Kontainer mungkin pergi atau mungkin gagal dan kemudian Docker membawanya ke tempat lain.
‫Terlalu dinamis dan terlalu rumit untuk menghadapinya.
‫Jadi ternyata ada solusi bawaan untuk ini, dan itu adalah penamaan DNS. Docker menggunakan nama kontainer sebagai setara
‫dengan nama host untuk wadah berbicara satu sama lain.
‫Sekarang jika Anda ingat kami baru saja menjalankan dua kontainer ...
‫jika Anda ingat Nginx berada di jaringan baru, bernama my_app_net.
‫Baik.
‫Dan memiliki satu wadah di atasnya. Karena saya membuat jaringan baru
‫ini, itu bukan jaringan
‫jembatan default, itu sebenarnya mendapat fitur baru khusus, yang merupakan resolusi DNS otomatis untuk semua kontainer di jaringan
‫virtual itu dari semua kontainer lain di jaringan virtual menggunakan nama wadah mereka.
‫Jika saya membuat wadah kedua di jaringan virtual itu, mereka akan dapat saling menemukan, terlepas dari
‫apa alamat IP-nya, dengan nama-nama wadah mereka.
‫Jadi mari kita coba ini: nama run docker container ... dan kami akan menyebutnya nginx saya ... dan kita akan menentukan
‫jaringan sebagai jaring aplikasi saya
‫dari gambar nginx.
‫Sekarang, jika kita melihat jaringan itu, kita akan melihat 2 kontainer; dan, jika saya melakukan exec
‫container docker, dari container baru yang baru saja saya buat - oops kita juga
‫membutuhkan IT di sana - Dan kita melakukan ping ke nginx baru,
‫anda perhatikan bahwa resolusi DNS hanya berfungsi. Ini membuatnya sangat mudah bagi Anda untuk memiliki satu
‫wadah dan Anda perlu mengatur file konfigurasi di dalamnya untuk diajak bicara, mungkin katakanlah
‫server PHP akan berbicara dengan backend MySQL. Ctrl-c untuk itu, dan Anda akan melihatnya bekerja dengan cara lain juga.
‫Jika saya melompat ke wadah nginx baru dan saya mencoba untuk ping ngnix saya, Anda melihat bahwa resolusi berfungsi
‫dua arah.
‫Dan inilah yang memecahkan masalah besar ketika Anda memutar wadah karena Anda tidak dapat memprediksi berapa lama
‫mereka akan bertahan dan di mana mereka mungkin satu menit dari sekarang dalam desain produksi
‫di mana Anda memiliki sekelompok Docker Swarm server.
‫Jadi itu mungkin tidak banyak berubah pada mesin lokal Anda, tetapi jika Anda menghentikan 3 atau 4 kontainer,
‫dan kemudian Anda memulai wadah yang sama, dan Anda memulainya dalam urutan yang
‫berbeda, mereka mungkin tidak memiliki alamat IP yang sama. Tetapi nama inang mereka, atau nama wadah mereka, akan
‫selalu sama.
‫Jadi Anda bisa mengandalkan mereka.
‫Sekarang saya harus perhatikan, jika kita melakukan daftar jaringan buruh pelabuhan, jaringan jembatan default memiliki satu kelemahan di sini.
‫Itu tidak memiliki server DNS bawaan ke dalamnya.
‫Jadi Anda bisa menggunakan --link.
‫Jadi, ketika Anda membuat sebuah wadah, Anda akan melihat ada opsi tautan dan Anda benar-benar dapat menentukan tautan
‫manual antara kontainer di jaringan jembatan default itu.
‫Tapi sungguh, jauh lebih mudah untuk membuat jaringan baru untuk aplikasi Anda sehingga Anda tidak perlu melakukan
‫ini setiap waktu.
‫Dan di bagian selanjutnya, ketika kita berbicara tentang Docker Compose, Anda akan melihat betapa hal ini
‫menjadi lebih mudah karena Compose secara otomatis akan membuat jaringan virtual baru setiap kali Anda menjalankan aplikasi dengannya.
‫Jadi berkomunikasi di antara wadah Anda menjadi lebih mudah.
‫Sebagai rekap cepat, kita bahas dalam kuliah ini tentang bagaimana wadah tidak bisa benar-benar, atau tidak seharusnya benar-benar, bergantung pada
‫alamat IP untuk berbicara satu sama lain karena mereka tidak bisa diandalkan.
‫Dan DNS itu benar-benar standar di sini untuk bagaimana kita melakukan komunikasi antara kontainer di
‫host yang sama dan di seluruh host.
‫Jadi saya sarankan Anda selalu membuat jaringan khusus karena lebih mudah daripada
‫melakukan --link sepanjang waktu.
‫Dan kemudian saya memberi Anda sebuah teaser tentang Docker Compose dan bagaimana ini akan membuat semua
‫ini lebih mudah, terutama jaringan.