2015-05-15 52 views
6

Tôi cần phải có cụm Couchbase cục bộ và sao chép dữ liệu từ cụm sản phẩm lên, không thể cài đặt trực tiếp trên OS X (vì không tương thích vbuckets - cụm prod trên linux) .Couchbase XDCR trong vùng chứa Docker

Đế để cứu hộ. Tôi đã quản lý để tạo Dockerfile, you can see it here.

Bây giờ, cụm chạy, nó có thể truy cập trong mạng LAN, tất cả các cổng cần thiết đang chuyển tiếp - I used tricks described here

tôi đã tạo thành công tài liệu tham khảo cụm trong tab XDCR, nhưng bất cứ khi nào tôi cố gắng sao chép dữ liệu xô của - nó thay đổi hostname cụm tôi một số địa chỉ ip không sensical và tạo ra một bản ghi:

Updated remote cluster `mycluster` hostname to "172.17.0.5:8091" 
because old one ("mylaptop.company.com:8091") 
is not part of the cluster anymore 

tôi biết Couchbase là rất nhạy cảm với các địa chỉ iP, như bạn có thể thấy, thay vào đó tôi đang sử dụng hostname của máy tính của tôi (máy chủ của container docker). Tôi đã thử thay đổi tên máy chủ lưu trữ của container bằng cách sử dụng docker run -h, điều đó dường như không giúp ích gì.

Bất kỳ ai, các bạn có đặt XDCR bằng cụm đang chạy trong vùng chứa docker không?

+0

Bạn đã bao giờ giải quyết vấn đề này chưa? Tôi đang chạy vào một vấn đề tương tự. – jmiraglia

+0

@jmiraglia no, thật không may là tôi không thể tìm ra cách để giải quyết vấn đề này. Sau đó tôi chuyển sang những thứ khác, trong dự án hiện tại của tôi, tôi không sử dụng Couchbase. Lấy làm tiếc. – Agzam

Trả lời

1

Cụm sẽ không chấp nhận nút của bạn như là một phần của nó, vì vậy nó sẽ bị loại. Có vẻ như bạn chưa thiết lập được mạng của mình.

có thể được rằng bạn cần một số cổng hơn mở ra: (tất cả các node-to-node cổng) http://docs.couchbase.com/couchbase-manual-2.5/cb-install/#network-ports

Ngoài ra, làm thế nào để bạn bắt đầu container của bạn? Đặt lộ trong dockerfile sẽ không mở các cổng, bạn cũng cần phải đặt -P trong lệnh của bạn để thực sự phơi bày các cổng

+0

không, tất cả các cổng cần thiết được mở. Tôi có tất cả những điều này: 8091 8092 11209 11210 11211 11214 11215 18091 18092 4369. Như tôi đã nói, nó tìm thấy thùng, nó kết nối với cụm, nhưng không muốn sao chép, bởi vì địa chỉ ip của container docker khác với ip của máy lưu trữ của nó. Tôi đang cố gắng sử dụng tên máy của máy tính của tôi, thay vì ip - tất cả như nhau, không sao chép – Agzam

+0

Có lẽ tôi cần phải tìm cách để làm cho vùng chứa docker hiển thị trong mạng cục bộ, chỉ cần chuyển tiếp cổng là không đủ? – Agzam

1

Tôi đã kết thúc việc tìm ra điều này. Bước đầu tiên là đặt tên máy chủ của bạn cho một thứ gì đó có thể truy cập được từ cụm chính. Điều thứ hai mà bạn phải làm là cập nhật tệp hosts trên cụm nô lệ, thay thế định nghĩa 127.0.0.1 hiện tại thành COUCHBASE_HOSTNAME là tên máy chủ được sử dụng ở trên, tôi không thể sử dụng địa chỉ IP công cộng và phải sử dụng tên miền với bản ghi DNS trỏ đến nô lệ:

127.0.0.1 COUCHBASE_HOSTNAME

Các vấn đề liên quan