2015-09-23 47 views
6

Theo docker link docs Tôi chỉ có thể - liên kết với một (đã chạy) vùng chứa để truy cập các cổng nội bộ của vùng chứa đó.liên kết mạng docker với 2 hoặc nhiều vùng chứa

Làm cách nào để liên kết một vùng chứa với 2 hoặc nhiều vùng chứa khác? (MongoDB và một dịch vụ web trong trường hợp của tôi.)

(Ngay bây giờ tôi đang phơi bày các cảng container thứ hai để lưu trữ và sau đó truy cập qua host: port, cũng có thể workaround có thể Let two Containers getting linked to eachother.)

+1

https://stackoverflow.com/questions/30545023/how-to-communicate-between-docker-containers-via-hostname/30550990#30550990 – xuhdev

+2

Tôi đoán bạn có thể sử dụng --Liên nhiều lần để liên kết cho nhiều vùng chứa. Tôi đã sử dụng nhiều lần như vậy. –

Trả lời

2

Ngoài ra, bạn có thể bật giao tiếp liên container bằng cách thêm --icc = true vào dòng lệnh của trình cắm thêm daemon, và bạn sẽ không phải liên kết các thùng chứa, chỉ cần truy cập chúng bằng địa chỉ IP của Docker Host và các cổng được xuất bản của thùng chứa.

Docker Networking

14
docker run -d --link node1:node1 --link node2:node2 --link node3:node3 -p hostport:containerport your-image 

tôi chạy lệnh trên và nó hoạt động.

+1

Đây là câu trả lời được chấp nhận –

1

Để có giải pháp dễ dàng, bạn có thể sử dụng Docker-compose. trong khi bạn soạn tệp (docker-compose.yml), hãy sử dụng tùy chọn links Liên kết đến vùng chứa trong một dịch vụ khác. Chỉ định cả tên dịch vụ và bí danh liên kết (SERVICE: ALIAS) hoặc chỉ tên dịch vụ.

container_name: 
links: 
     - node1 
     - node2 
     - node3:alias3 
     - noden 
Các vấn đề liên quan