GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Cara Menetapkan IP Statis ke Wadah Docker

Alamat IP statis tidak berubah saat kontainer atau layanan dihentikan dan dimulai, membuatnya berguna untuk jaringan permanen. Menetapkan alamat IP statis container Docker adalah cara mudah untuk membuatnya lebih mudah diakses.

Mengapa Menggunakan IP Statis?

Ada dua jenis "IP statis"; alamat IP pribadi yang digunakan untuk jaringan internal di dalam server, dan alamat IP publik yang digunakan untuk terhubung di luar server, seringkali melalui internet.

Jika Anda perlu mengatur alamat IP publik untuk sebuah wadah, Anda akan ingin menggunakan binding port. Anda dapat "memublikasikan" port pada wadah Docker agar dapat diakses dari host. Meskipun ada pengaturan jaringan yang lebih canggih, ini adalah yang termudah dan paling umum. Misalnya, mengikat port 80 (HTTP) pada host untuk menunjuk ke wadah NGINX:

docker run --publish=80:8080 nginx

Jika Anda ingin membuat alamat IP pribadi statis, Anda harus mempertimbangkan apakah Anda perlu menggunakannya sama sekali. Sebagian besar waktu, Anda ingin IP statis untuk berbicara dengan satu wadah dari yang lain, atau dari host. Dalam kebanyakan kasus, jaringan bawaan Docker dapat menangani ini.

Docker hadir dengan jaringan default, tetapi jika Anda membuatnya sendiri, Anda dapat memberikan alias wadah saat diluncurkan di jaringan itu. Alias ​​​​ini akan menyelesaikan ke IP pribadi penampung secara otomatis. Misalnya, wadah NGINX di sini dapat mengakses instance MongoDB dengan string koneksi mongodb://mongohost:27017 .

docker network create example
docker run --net example --name nginx -d nginx
docker network connect example --alias mongohost mongodb

Untuk mempelajari lebih lanjut, Anda dapat membaca dokumentasi Docker tentang jaringan jembatan yang ditentukan pengguna.

Namun, masih ada banyak waktu ketika Anda ingin menentukan alamat IP pribadi secara manual, seperti mengakses wadah langsung dari host. Anda masih perlu menggunakan jaringan Docker khusus untuk melakukannya, tetapi mudah untuk menyiapkannya.

Menyiapkan IP Statis

Pertama, Anda harus menyiapkan jaringan Docker, dan karena kami peduli dengan alamat IP, Anda harus menentukan subnet tetap:

docker network create --subnet=172.20.0.0/16 customnetwork

TERKAIT: Apa itu Subnet, dan Bagaimana Pengaruhnya Terhadap Jaringan Saya?

Kemudian, Anda dapat menjalankan wadah, menentukan jaringan dengan --net flag, dan tentukan IP dengan -ip bendera:

docker run --net customnetwork --ip 172.20.0.10 -d container

Anda dapat memverifikasi alamat sudah benar dengan memeriksanya di wadah dengan exec -t bin/bash , atau dengan memeriksa daftar container Docker:

docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' name_or_id

Menggunakan Docker Compose

Docker Compose adalah alat yang digunakan untuk meluncurkan beberapa wadah dengan pengaturan yang telah ditentukan. Ini termasuk menyiapkan jaringan dengan subnet tertentu, dan Anda dapat melampirkan wadah ke jaringan dengan IP tetap menggunakan ipv4_address blok konfigurasi ditampilkan di sini:

version: '2'
services:
  webserver:
    image: nginx
    container_name: web-server
    networks:
      customnetwork:
        ipv4_address: 172.20.0.10
networks:
  customnetwork:
    ipam:
      config:
        - subnet: 172.20.0.0/16

Docker
  1. Cara menginstal WordPress menggunakan Docker

  2. Bagaimana Cara Menjalankan Program Di Dalam Wadah Docker?

  3. Cara Menjalankan Perintah di Running Docker Container

  1. Cara Menjalankan MySQL Dalam Wadah Docker

  2. Cara Menyebarkan PostgreSQL sebagai Wadah Docker

  3. Cara Mendaftar Kontainer Docker

  1. Cara SSH Ke Wadah Docker

  2. Cara Menginstal Vim di Wadah Docker

  3. Cara Keluar dari Kontainer Docker