Docker (www.docker.io) trông thật tuyệt vời. Tuy nhiên, sau khi cài đặt VirtualBox, Vagrant ... và cuối cùng là Docker trên máy Mac, tôi không thể truy cập dịch vụ đang chạy trong vùng chứa Docker từ một máy tính khác (hoặc từ phiên đầu cuối trên máy Mac). Dịch vụ tôi đang truy cập là Redis.Docker container - làm thế nào để cấu hình để nó nhận được một địa chỉ IP khả thi khi chạy trong khu vực lang thang?
Sự cố có vẻ là không có tuyến đường đến địa chỉ IP được chỉ định cho vùng chứa Docker. Trong trường hợp này, IP của vùng chứa là 172.16.42.2 trong khi IP của máy Mac là 196.168.0.3.
Một vài lưu ý:
- nó có thể truy cập vào nó - nhưng chỉ từ bên trong phiên VirtualBox. Điều này có thể được thực hiện bằng redis-cli -h 172.16.42.2 -p 6379.
- Tôi đã thêm "config.vm.network: bridged" vào VagrantFile trong một nỗ lực để có được, nhưng điều đó không giải quyết được vấn đề .
Người ta có thể làm 'Docker chạy -d - p: 8989' bây giờ trực tiếp ánh xạ một cổng đến cùng một cổng công khai như https://github.com/dotcloud/docker/commit/2aad4a34785a1b0d02d910a14dbb9b0d6d3edc17 – bojo
Có sự thay đổi nào trong Docker đã vô hiệu hóa chức năng này không? Tôi không thể nhận được để docker container của tôi từ máy chủ (OS X) mà không sử dụng ssh vagrant để tạo ra một đường hầm. –
@DavClark bạn đã thiết lập một IP tĩnh cho vm vagrant của bạn? Docker bây giờ sử dụng unix socket theo mặc định. Bạn cần kích hoạt chế độ TCP. Bạn có thể chạy damon như thế này: 'docker -d -H tcp: //0.0.0.0: 4243' và client như sau:' docker -H tcp: //: 4243 run -i -t base bash' –
creack