Latihan 1 dari materi Docker Networking di DevOps — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Isi function parsePortMapping(mapping) yang mengurai teks opsi -p Docker jadi object { host, hostPort, containerPort }, dengan kunci persis dalam urutan itu.
Format input: "hostPort:containerPort" atau "ip:hostPort:containerPort".
Potong mapping di :.
Kalau ada tiga bagian, bagian pertama adalah host (sebuah IP, tetap string). Kalau cuma dua, host = "0.0.0.0".
Dua bagian terakhir adalah hostPort lalu containerPort, dan keduanya harus number, bukan string: ubah dengan Number(...).
Baris console.log di kode awal biarkan. Yang diuji adalah nilai kembalian, dibandingkan persis:
Hitung dulu ada berapa bagian setelah dipotong di titik dua. Dua bagian berarti IP-nya gak ditulis, tiga bagian berarti bagian pertama IP-nya.
const parts = mapping.split(":"); Kalau parts.length === 3, host = parts[0] dan port ada di parts[1] serta parts[2]. Kalau gak, host = "0.0.0.0" dan port ada di parts[0] serta parts[1].