Peta dunia

 

EN: Read in English

Dunia D0: Mula Di Sini

Kursus kilat rangkaian

Anda akan belajar: lima perkataan rangkaian, iaitu IP address, port, localhost, DNS dan kod status, untuk cari kenapa aplikasi tak dapat dicapai.

Teks BM belum disemak oleh penutur asli.

Disemak dengan Docker Engine 29 pada 31 Okt 2026

Masalahnya

curl tanya port 9090 dan dapat: Failed to connect to localhost port 9090. Couldn't connect to server. Transkrip Docker: $ curl localhost:9090 curl: (7) Failed to connect to localhost port 9090 after 0 ms: Couldn't connect to server

Laptop anda~/shop

  • Port laptop 8080 → shop port 80

Bekas (container)

  • shopberjalan
    dari nginx:1.30-alpine 8080→80 ~/shop/site → /usr/share/nginx/html

Pek beku (image)

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

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

Aplikasi anda berjalan, tapi anda tak dapat capainya. Alamatnya salah? Pintunya? Atau aplikasi itu sendiri? Lima perkataan rangkaian akan beritahu anda.

Tengok

Setiap komputer dalam rangkaian ada IP address (alamat IP) (IP address): Alamat jalan sesebuah komputer dalam rangkaian, contohnya 192.168.1.20. (alamat IP). Ia macam alamat jalan sebuah bangunan. Yang mana satu IP address?

Pilih satu jawapan.

Tengok

Ketik setiap titik pada garis masa.

Satu bangunan ada banyak tingkap bernombor. Setiap aplikasi tunggu pesanan di port: Tingkap bernombor pada komputer. Setiap aplikasi tunggu pesanan di nombornya sendiri, contohnya 8080. sendiri. Tekan beberapa yang terkenal.

Cuba

localhost: Komputer ini sendiri. Alamatnya 127.0.0.1. bermaksud “komputer ini, di sini”. Kedai dibuka di tingkap 8080. curl ambil satu laman, macam pelayar kecil. Taip curl localhost:8080.

Laptop anda~/shop

  • Port laptop 8080 → shop port 80

Bekas (container)

  • shopberjalan
    dari nginx:1.30-alpine 8080→80 ~/shop/site → /usr/share/nginx/html

Pek beku (image)

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

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

Tengok

/etc/hosts senaraikan localhost sebagai 127.0.0.1. Kemudian curl kata: Could not resolve host: kedai-kancil. Transkrip Docker: $ cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 laptop # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback $ curl http://kedai-kancil:8080 curl: (6) Could not resolve host: kedai-kancil

Laptop anda~/shop

  • Port laptop 8080 → shop port 80

Bekas (container)

  • shopberjalan
    dari nginx:1.30-alpine 8080→80 ~/shop/site → /usr/share/nginx/html

Pek beku (image)

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

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

DNS: Buku telefon rangkaian. Ia tukar nama kepada alamat IP. ialah buku telefon: ia tukar nama kepada IP address. Laptop anda pun simpan buku telefon kecil, /etc/hosts. Tiada siapa senaraikan kedai-kancil, jadi curl mengalah.

Teka

curl kata Could not resolve host. Bahagian mana yang gagal?

Pilih satu jawapan.

Cuba

Bila server menjawab, ia mula dengan HTTP status code (kod status HTTP) (HTTP status code): Jawapan kaunter dalam tiga digit: 200 bermaksud nah, ambil; 404 bermaksud tiada dalam menu. (kod status HTTP). 2xx: nah, ambil. 4xx: pesanan anda tak kena. 5xx: dapur bermasalah. Susun semua ini.

Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.

        Semak

        Minta dua laman dari kedai. curl -I tunjuk bahagian atas jawapan sahaja. Cuba /menu.html, kemudian /sambal.html. Baca baris pertama setiap kali.

        Laptop anda~/shop

        • Port laptop 8080 → shop port 80

        Bekas (container)

        • shopberjalan
          dari nginx:1.30-alpine 8080→80 ~/shop/site → /usr/share/nginx/html

        Pek beku (image)

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

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

        Anda berjaya!

        Kini anda boleh cari kenapa aplikasi tak dapat dicapai.

        Nak tahu lebih (pilihan)

        127.0.0.1 ialah nombor localhost sendiri. Dalam output Docker, 0.0.0.0:8080 bermaksud “port 8080 pada setiap alamat laptop ini”. Pelayar di http://localhost:8080 bertanya sama macam curl.

        Latihan sebenar (pilihan): selepas Docker dipasang, jalankan docker run -d --name web -p 8080:80 nginx:1.30-alpine. Buka http://localhost:8080 dalam pelayar. Kemas dengan docker rm -f web.