Docker: Container không thể connect với host trên cổng 9000

Em đang cần thiết lập Xdebug trên con Ubuntu để debug cho ứng dụng chạy trong một container của Docker. Địa chỉ IP của docker host (cũng chính là con Ubuntu em đang xài) là 192.168.10.17. Hiện tại em đã cài đặt Xdebug trên IDE và bật Xdebug.

Sử dụng telnet trên host để kiểm tra kết nối tới cổng 9000 (trên cùng host):

$ telnet localhost 9000

Thì thấy chạy okie:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Thay localhost trên bởi 192.168.10.17 cũng okie.

Nhưng khi ssh vào bên trong container và thực hiện telnet ra ngoài host kiểm tra kết nối trên cổng 9000:

# telnet 192.168.10.17 9000

Thì bị lỗi:

Trying 192.168.10.17...
telnet: connect to address 192.168.10.17: Connection refused
telnet: Unable to connect to remote host

Nhưng khi em thử telnet ra host từ trong container trên các cổng khác như 80 hay 8080:

$ telnet localhost 80

Thì lại okie (tất nhiên các cổng này khi chạy telnet trên chính host thì cũng connect được).

Em không rành lắm về network, bác nào am hiểu về Docker network support em fix lỗi này với ạ!

1 Câu Trả Lời

Lê Trung Lê Trung

Bạn cần mở port 9000 trên host để container có thể kết nối được, trên Linux chạy câu lệnh sau:

# iptables -A INPUT -m state --state NEW -p tcp --dport 9000 -j ACCEPT
Nội dung tối thiểu 100 ký tự

Câu Hỏi Liên Quan