Dành cho macOS và Windows
Docker v 18.03 trở lên (kể từ ngày 21 tháng 3 năm 2018)
Sử dụng địa chỉ IP nội bộ của bạn hoặc kết nối với tên DNS đặc biệt host.docker.internal
sẽ phân giải thành địa chỉ IP nội bộ được sử dụng bởi máy chủ lưu trữ.
Hỗ trợ Linux đang chờ xử lý https://github.com/docker/for-linux/issues/264
MacOS với các phiên bản trước của Docker
Docker cho Mac v 17.12 đến v 18.02
Tương tự như trên nhưng sử dụng docker.for.mac.host.internal
thay thế.
Docker cho Mac v 17,06 đến v 17.11
Tương tự như trên nhưng sử dụng docker.for.mac.localhost
thay thế.
Docker cho Mac 17.05 trở xuống
Để truy cập máy chủ từ bộ chứa docker, bạn phải đính kèm bí danh IP vào giao diện mạng của mình. Bạn có thể liên kết bất kỳ IP nào bạn muốn, chỉ cần đảm bảo rằng bạn không sử dụng nó cho bất kỳ thứ gì khác.
sudo ifconfig lo0 alias 123.123.123.123/24
Sau đó, đảm bảo rằng máy chủ của bạn đang nghe IP được đề cập ở trên hoặc 0.0.0.0
. Nếu nó nghe trên localhost, 127.0.0.1
nó sẽ không chấp nhận kết nối.
Sau đó, chỉ cần trỏ container của bạn vào IP này và bạn có thể truy cập vào máy chủ!
Để kiểm tra bạn có thể chạy một cái gì đó như curl -X GET 123.123.123.123:3000
bên trong container.
Bí danh sẽ đặt lại trên mỗi lần khởi động lại, vì vậy hãy tạo một kịch bản khởi động nếu cần thiết.
Giải pháp và nhiều tài liệu khác tại đây: https://docs.docker.com/docker-for-mac/networking/#use-case-and-workaround