Perkiraan waktu membaca: 6 menit
Halaman ini berlaku untuk Menyusun format file versi 2 dan yang lebih tinggi. Fitur jaringan tidak didukung untuk Compose file versi 1 (tidak digunakan lagi).
Secara default Compose menyiapkan singlenetwork untuk aplikasi Anda. Setiapcontainer untuk layanan bergabung https://kangasep.com/ dengan jaringan default dan keduanya dapat dijangkau oleh kontainer lain di jaringan itu, dan dapat ditemukan oleh mereka dengan nama host ke nama kontainer.
Jaringan aplikasi Anda diberi nama berdasarkan “nama proyek”, yang didasarkan pada nama direktori tempat ia tinggal. Anda dapat mengganti namaproject dengan flagor –project-name atau variabel lingkungan COMPOSE_PROJECT_NAME.
Misalnya, misalkan aplikasi Anda berada di direktori bernama myapp, dan docker-compose.yml Anda terlihat seperti ini:versi: “3.9”services:web:build: .ports:- “8000:8000″db:image: postgresports:- “8001:5432”
Saat Anda menjalankan docker-compose up, hal berikut terjadi:Sebuah jaringan yang disebut myapp_default Private Blog Network dibuat.Kontainer dibuat menggunakan konfigurasi web. Ini bergabung dengan networkmyapp_default dengan nama web.Kontainer dibuat menggunakan konfigurasi db. Ini bergabung dengan networkmyapp_default dengan nama db.
Di v2.1+, jaringan overlay https://kangasep.com/jasa-backlink-pbn/ selalu dapat dilampirkan
Dimulai dalam format file Compose 2.1, jaringan overlay selalu dibuat sebagai dapat dicapai, dan ini tidak dapat dikonfigurasi. Ini berarti bahwa standalonecontainer dapat terhubung ke jaringan overlay.
Dalam format file Compose 3.x, Anda dapat mengatur properti yang dapat dilampirkan secara opsional menjadi false.
Setiap kontainer sekarang dapat mencari web nama host atau db dan mengembalikan alamat IP kontainer yang sesuai. Misalnya, kode web dapat terhubung ke URL postgres://db:5432 dan memulai database Postgres.
Penting untuk dicatat perbedaan antara HOST_PORT dan CONTAINER_PORT. Dalam contoh di atas, untuk db, HOST_PORT adalah 8001 dan port kontainer adalah 5432 (postgres default). Komunikasi layanan-ke-layanan jaringan menggunakan CONTAINER_PORT. Ketika HOST_PORT didefinisikan, layanan ini dapat diakses di luar kawanan juga.
Dalam kontainer web, string koneksi Anda ke db akan terlihat likepostgres://db:5432, dan dari mesin host, string koneksi akan masuk seperti postgres://{DOCKER_IP}:8001.Update containers
Jika Anda membuat perubahan konfigurasi ke layanan dan menjalankan docker-compose untuk memperbaruinya, kontainer lama akan dihapus dan yang baru bergabung dengan jaringan di bawah alamat IP yang berbeda tetapi nama yang sama. Kontainer yang berjalan dapat mencari nama itu dan terhubung ke alamat baru, tetapi alamat lama berhenti berfungsi.
Jika ada kontainer yang memiliki koneksi terbuka ke wadah lama, mereka ditutup. Ini adalah tanggung jawab kontainer untuk mendeteksi kondisi ini, mencari nama lagi dan menghubungkan kembali. Link
Tautan memungkinkan Anda untuk menentukan alias tambahan di mana layanan dapat dijangkau dari layanan lain. Mereka tidak diharuskan untuk mengaktifkan layanan untuk berkomunikasi – secara default, layanan apa pun dapat menjangkau layanan lain atas nama layanan tersebut. Dalam contoh berikut, db dapat dijangkau dari web di nama host db dan database:versi: “3.9”services:web:build: .links:- “db:database”db:image: postgres
Lihat referensi tautan untuk informasi lebih Jasa backlink PBN lanjut. Jaringan multi-host
Saat menyebarkan aplikasi Compose pada Docker Engine dengan mode Swarm diaktifkan, Anda dapat menggunakan driver overlay bawaan untuk mengaktifkan komunikasi multi-host.
Lihat bagian mode Swarm, untuk melihat cara mengatur kluster Swarm, dan Memulai dengan jaringan multi-host untuk mempelajari tentang jaringan overlay multi-host. Tentukan jaringan kustom
Alih-alih hanya menggunakan jaringan aplikasi default, Anda dapat menentukan jaringan Anda sendiri dengan kunci jaringan tingkat atas. Ini memungkinkan Anda membuat topologi yang lebih kompleks dan menentukan driver dan opsi jaringan khusus. Anda juga dapat menggunakannya untuk menghubungkan layanan ke jaringan yang dibuat secara eksternal yang tidak dikelola oleh Compose.
Setiap layanan dapat menentukan jaringan apa yang akan terhubung dengan kunci jaringan tingkat layanan, yang merupakan daftar nama yang merujuk entri di bawah kunci jaringan tingkat atas.
Berikut adalah contoh File Compose yang mendefinisikan dua jaringan kustom. Layanan proxy diisolasi dari layanan db, karena mereka tidak berbagi jaringan yang sama – hanya aplikasi yang dapat berbicara dengan keduanya.versi: “3.9”services:proxy:build: ./proxynetworks:- frontendapp:build: ./appnetworks:- frontend- backenddb:image: postgresnetworks:- backendnetworks:frontend:# Gunakan driverdriver kustom: custom-driver-1backend:# Gunakan driver kustom yang mengambil optionsdriver khusus: custom-driver-2driver_opts:foo: “1”bar: “2”
Jaringan dapat dikonfigurasi dengan alamat IP statis dengan mengatur ipv4_address dan / atau ipv6_address untuk setiap jaringan terlampir.
Jaringan juga dapat diberi nama khusus (karena versi 3.5):versi: “3.9”layanan:# … jaringan:frontend:name: custom_frontenddriver: custom-driver-1
Untuk detail lengkap opsi konfigurasi jaringan yang tersedia, lihat referensi berikut:Kunci jaringan tingkat atasKunci jaringan tingkat layananMengonfigurasi jaringan default
Alih-alih (atau juga) menentukan jaringan Anda sendiri, Anda juga dapat mengubah pengaturan jaringan default di seluruh aplikasi dengan menentukan entri di bawah jaringan bernama default:versi: “3.9”services:web:build: .ports:- “8000:8000″db:image: postgresnetworks:default:# Gunakan driverdriver kustom: custom-driver-1Menggunakan jaringan yang sudah ada sebelumnya
Jika Anda ingin kontainer Anda bergabung dengan jaringan yang sudah ada sebelumnya, gunakan opsi eksternal:layanan:# … networks:default:external:name: my-pre-existing-network
Alih-alih mencoba membuat jaringan yang disebut [projectname]_default, Compose mencari jaringan yang disebut my-pre-existing-network dan menghubungkan kontainer aplikasi Anda ke it.documentation, docs, docker, compose, orchestration, container, networking