Peta dunia

 

EN: Read in English

Dunia D3: Loker & Talian Telefon

Panggil container ikut nama

Anda akan belajar: capai container lain ikut namanya, bukan localhost.

Teks BM belum disemak oleh penutur asli.

Disemak dengan Docker Engine 29 pada 31 Okt 2026

Masalahnya

Satu bekas baru di shopnet minta menu daripada localhost. wget kata: can't connect to remote host (127.0.0.1): Connection refused. Transkrip Docker: $ docker run --rm --network shopnet alpine:3.22 wget -qO- http://localhost wget: can't connect to remote host (127.0.0.1): Connection refused

Laptop anda~

  • Tiada tingkap terbuka

Bekas (container)

  • menuberjalan
    dari nginx:1.30-alpine shopnet
  • cacheberjalan
    dari alpine:3.22

Pek beku (image)

  • alpine:3.221 layer · 12.9MB · sedang diguna
  • nginx:1.30-alpine8 layer · 93.5MB · sedang diguna

Talian telefon (rangkaian)

  • shopnetmenu

2 container (2 berjalan), 2 image, 0 loker.

Satu bekas baru mahukan menu, jadi ia tanya localhost. Connection refused. Maksudnya: tiada siapa hidangkan halaman dalam bekas ini sendiri.

Tengok

Ketik setiap titik pada garis masa.

Dalam talian sendiri, Docker simpan buku telefon. Sebut nama bekas, dapat alamatnya. Inilah container DNS: Buku telefon Docker dalam rangkaian sendiri. Sebut nama container, dapat alamatnya..

Cuba

Dari bekas baru di shopnet, ambil halaman di http://menu.

Laptop anda~

  • Tiada tingkap terbuka

Bekas (container)

  • menuberjalan
    dari nginx:1.30-alpine shopnet
  • cacheberjalan
    dari alpine:3.22

Pek beku (image)

  • alpine:3.221 layer · 12.9MB · sedang diguna
  • nginx:1.30-alpine8 layer · 93.5MB · sedang diguna

Talian telefon (rangkaian)

  • shopnetmenu

2 container (2 berjalan), 2 image, 0 loker.

Teka

Dalam satu container, siapa localhost?

Pilih satu jawapan.

Semak

wget ke menu di port 8080 gagal: can't connect to remote host, Connection refused. Transkrip Docker: $ docker run --rm --network shopnet alpine:3.22 wget -qO- http://menu:8080 wget: can't connect to remote host (172.18.0.2): Connection refused

Laptop anda~

  • Tiada tingkap terbuka

Bekas (container)

  • menuberjalan
    dari nginx:1.30-alpine shopnet
  • cacheberjalan
    dari alpine:3.22

Pek beku (image)

  • alpine:3.221 layer · 12.9MB · sedang diguna
  • nginx:1.30-alpine8 layer · 93.5MB · sedang diguna

Talian telefon (rangkaian)

  • shopnetmenu

2 container (2 berjalan), 2 image, 0 loker.

menu:8080 pun ditolak. nginx dengar di port 80 dalam bekas. 8080 cuma tingkap di laptop anda.

Semak

Satu bekas aplikasi berhubung dengan db dan menu. Tetapan yang baik, atau tidak?

Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.

1 / 5DB_HOST=db
DB_HOST=db

Anda berjaya!

Kini anda boleh sambungkan container ikut nama.

Nak tahu lebih (pilihan)

Buku telefon Docker ada di 127.0.0.11 dalam setiap bekas di rangkaian sendiri. --network-alias tambah nama kedua. Compose letak semua servis dalam satu rangkaian dan namakan untuk anda (Dunia D4).

Latihan sebenar (pilihan):

Misi sebenar

  1. docker network create practice-net && docker run -d --name menu --network practice-net nginx:1.30-alpine
  2. docker run --rm --network practice-net alpine:3.22 wget -qO- http://menu
  3. docker run --rm --network practice-net alpine:3.22 wget -qO- http://localhost
  4. docker rm -f menu && docker network rm practice-net

0 daripada 4 langkah siap · Tanda anda disimpan.