Có những cách nào để nhận hostname của host docker từ bên trong một container đang chạy trên host đó ngoài việc sử dụng các biến môi trường? Tôi biết tôi có thể chuyển tên máy chủ dưới dạng biến môi trường cho vùng chứa tại thời điểm tạo vùng chứa. Tôi tự hỏi làm thế nào tôi có thể tìm kiếm nó tại thời gian chạy.Làm thế nào để có được tên máy chủ lưu trữ của docker host từ bên trong một docker container trên máy chủ đó mà không có env vars
foo.example.com (docker host)
bar (docker container)
Có cách nào cho container bar
chạy trong máy chủ Docker foo.example.com
để có được "foo.example.com"?
Chỉnh sửa để thêm trường hợp sử dụng:
Các container sẽ tạo một bản ghi SRV cho khám phá dịch vụ của mẫu
_service._proto.name. TTL class SRV priority weight port target.
-----------------------------------------------------------------
_bar._http.example.com 60 IN SRV 5000 5000 20003 foo.example.com.
nơi 20003 là một cổng tự động phân bổ trên các máy chủ Docker cho một dịch vụ lắng nghe trên một số cổng cố định trong thanh (docker xử lý ánh xạ từ cổng máy chủ đến cổng container).
Vùng chứa của tôi sẽ chạy kiểm tra sức khỏe để đảm bảo rằng nó đã tạo thành công bản ghi SRV đó vì sẽ có nhiều vùng chứa thanh khác trên máy chủ lưu trữ khác cũng tạo bản ghi SRV của riêng họ.
_service._proto.name. TTL class SRV priority weight port target.
-----------------------------------------------------------------
_bar._http.example.com 60 IN SRV 5000 5000 20003 foo.example.com. <--
_bar._http.example.com 60 IN SRV 5000 5000 20003 foo2.example.com.
_bar._http.example.com 60 IN SRV 5000 5000 20003 foo3.example.com.
Kiểm tra sức khỏe sẽ lặp qua các bản ghi SRV tìm kiếm tệp đầu tiên ở trên và do đó cần biết tên máy chủ của nó.
dành
Tôi đang sử dụng Helios và chỉ phát hiện ra nó cho biết thêm một env var for me từ mà tôi có thể nhận được hostname. Nhưng tôi chỉ tò mò trong trường hợp tôi đang sử dụng docker mà không có Helios.
Bạn có thể làm rõ, tại sao bạn cần tính năng này? –
Có lẽ nếu bạn có thể giải thích trường hợp sử dụng của mình, có thể có cách tiếp cận tốt hơn cho vấn đề của bạn? –
@VitalyIsaev đã thêm trường hợp sử dụng –