2014-12-12 23 views
9

Để chuyển các tùy chọn khác tới docker build, bạn có thể chỉ định DOCKER_OPTS trong /etc/default/docker, tuy nhiên - không có sẵn. Có thể sử dụng ngăn xếp mạng của máy chủ khi tạo vùng chứa không?Vượt qua --net = host để docker build

Tôi đang chạy phiên bản Docker 1.3.2, xây dựng 39fa2fa.

Cảm ơn!

+0

Tại sao bạn muốn thực hiện việc này? – Bryan

+0

Tôi muốn sử dụng ngăn xếp mạng của máy chủ của mình khi tạo vùng chứa. Tôi gặp sự cố khi tải vùng chứa docker để sử dụng máy chủ dns của công ty tôi trong thời gian xây dựng. Sử dụng --net = host là cách dễ nhất để làm cho nó hoạt động khi chạy một container. – user2334289

Trả lời

11

Để khắc phục sự cố, hãy định cấu hình trình nền của trình cắm thêm để sử dụng máy chủ DNS công ty của bạn. Ví dụ, nếu resolv.conf của bạn có cấu hình như sau:

$> cat /etc/resolv.conf 
domain mycompany 
search mycompany 
nameserver 10.123.123.123 

Change/etc/default/Docker để chứa những điều sau đây:

DOCKER_OPTS="--dns 10.123.123.123" 

Và khởi động lại daemon Docker với:

sudo service docker restart 

Hiện tại, các vùng chứa sẽ có quyền truy cập vào mạng nội bộ trong suốt quá trình xây dựng.

câu trả lời liên quan: Dockerfile: Docker build can't download packages: centos->yum, debian/ubuntu->apt-get behind intranet

+1

Tôi cũng phải xóa DNS riêng tư như trong (http://askubuntu.com/questions/627899/nameserver-127-0-1-1-in-resolv-conf-wont-go-away) TRỰC TUYẾN TRỰC TUYẾN: DOCKER_OPTS = $ (cat /etc/resolv.conf | grep máy chủ tên | awk '{printf "--dns" $ 2}') && sudo service docker restart – ElMesa

+0

Và để tìm ip DNS của bạn trong windows sử dụng ipconfig/all | findstr/R "DNS \ Máy chủ" ban đầu https://superuser.com/a/486925 –

2

Từ các phiên bản mới nhất (hiện Docker ce v17) người ta có thể thêm --network = máy chủ để Docker build lệnh của bạn mà là tương tự như --net = máy chủ khi sử dụng Docker chạy !

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