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.internalsẽ 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.internalthay 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.localhostthay 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.1nó 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:3000bê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