2015-08-01 34 views
5

Nếu tôi muốn xây dựng Dockerfile của tôi, nó không thể kết nối vào mạng hoặc ít nhất là DNS:Docker xây dựng không có mạng, nhưng Docker chạy có

Sending build context to Docker daemon 15.95 MB 
Sending build context to Docker daemon 
Step 0 : FROM ruby 
---> eeb85dfaa855 
Step 1 : RUN apt-get update -qq && apt-get install -y build-essential libpq-dev 
---> Running in ec8cbd41bcff 
W: Failed to fetch http://httpredir.debian.org/debian/dists/jessie/InRelease 

W: Failed to fetch http://httpredir.debian.org/debian/dists/jessie-updates/InRelease 

W: Failed to fetch http://security.debian.org/dists/jessie/updates/InRelease 

W: Failed to fetch http://httpredir.debian.org/debian/dists/jessie/Release.gpg Could not resolve 'httpredir.debian.org' 

W: Failed to fetch http://httpredir.debian.org/debian/dists/jessie-updates/Release.gpg Could not resolve 'httpredir.debian.org' 

W: Failed to fetch http://security.debian.org/dists/jessie/updates/Release.gpg Could not resolve 'security.debian.org' 

W: Some index files failed to download. They have been ignored, or old ones used instead. 
Reading package lists... 
Building dependency tree... 
Reading state information... 
E: Unable to locate package build-essential 
INFO[0001] The command "/bin/sh -c apt-get update -qq && apt-get install -y build-essential libpq-dev" returned a non-zero code: 100 

Nhưng nếu tôi chạy giống hệt nhau lệnh qua docker run hoạt động:

docker run --name="test" ruby /bin/sh -c 'apt-get update -qq && apt-get install -y build-essential libpq-dev' 

Có ai có ý tưởng không, tại sao docker build không hoạt động? Tôi đã thử tất cả các DNS Tipps liên quan trên StackOverflow, như bắt đầu Docker với --dns 8.8.8.8, vv

Cảm ơn trước

+0

Tôi nên đề cập, chính xác là cùng một Dockerfile đã hoạt động cách đây vài tuần. – sweiler

+0

Tôi đang gặp vấn đề tương tự. bạn đã bao giờ giải quyết vấn đề này chưa? – wintersylf

+0

Không .. Không có trên máy này: ( – sweiler

Trả lời

-1

Một vài gợi ý, không chắc chắn nếu họ sẽ làm việc hay không. Bạn có thể thay đổi ...apt-get install -y... thành ...apt-get install -yqq...

Ngoài ra, hình ảnh đó có thay đổi mà bạn đang cố xây dựng không?

+0

-yqq chưa giải quyết được vấn đề.Ngoài ra nó không thành công trên cập nhật apt-get và thậm chí không đạt được cài đặt apt-get. Hình ảnh có thể đã thay đổi, nhưng vì 'docker run' với chính xác cùng một hình ảnh cơ sở hoạt động, tôi không nghĩ rằng, vấn đề có liên quan đến hình ảnh. – sweiler

1

Trình tạo docker của tôi cũng không thành công khi cố gắng chạy apt-get upgrade với cùng một lỗi chính xác. Tôi đã sử dụng docker-máy trên Mac OSX và một đơn giản docker-machine restart default giải quyết vấn đề này. Không có ý tưởng ban đầu gây ra điều này, mặc dù.

+0

Điều này làm việc cho tôi – m0meni

0

Tôi gặp vấn đề tương tự với Quả mâm xôi.

Khởi động/dừng dịch vụ không hiệu quả, nhưng cài đặt lại gói (dpkg -i docker-hypriot_1.10.3-1_armhf.deb && service docker start trong trường hợp của tôi) đã giải quyết ngay tình huống: apt-get update quản lý để giải quyết và tiếp cận máy chủ.

Phải có một số hành động một lần trong quá trình cài đặt ...

1

Trình bảo vệ dường như có một số vấn đề về mạng. Tôi quản lý để khắc phục vấn đề này với

systemctl restart docker

... đó là cơ bản chỉ lệnh unix cấp 'khởi động lại-the-daemon' trong Debian 8.

+0

Điều này khắc phục vấn đề của tôi, tôi có docker 1,12.0, tôi nghĩ rằng là vấn đề hệ điều hành hoặc nó có thể là gì? – kurkop

0

Một trường hợp về hành vi báo cáo trên - lần này xây dựng một hình ảnh Docker từ Jenkins:

[...] Bước 3: RUN apt-get update & & apt-get install -y curl libapache2-mod-proxy-html ---> Chạy trong ea7aca5dea9b

Err http://security.debian.org jessie/cập nhật InRelease

Err http://security.debian.org jessie/cập nhật Release.gpg

Không thể giải quyết 'security.debian.org' Err http://httpredir.debian.org jessie InRelease [...]

Trong trường hợp của tôi, DNS không thể truy cập từ bên trong vùng chứa - nhưng vẫn còn từ máy chủ lưu trữ đế! (Cấu hình bộ giải quyết vùng chứa là không sao (!)) Sau khi khởi động lại máy docker (khởi động lại hoàn toàn - 'docker.service restart' không thực hiện thủ thuật) nó đã hoạt động trở lại. Vì vậy, một trong những hoạt động của tôi (hoặc của một đồng nghiệp của tôi) phải đã phá vỡ mạng docker sau đó! ?? Có thể một số hoạt động sửa đổi tường lửa ???

Tôi vẫn đang điều tra vì tôi không chắc chắn hoạt động nào có thể đã làm hỏng mạng docker sau đó ...

1

Tôi gặp sự cố tương tự. Nhưng như tôi đã chạy AWS linux tôi đã không có systemctl. Tôi đã giải quyết bằng cách sử dụng:

sudo service docker restart 
+0

Tôi sử dụng Aliyun. Nó hoạt động cho tôi. – user1079877

0

Cũng phải đối mặt với cùng một vấn đề ngày hôm nay. Cách giải quyết của tôi là khởi động lại máy docker của bạn. Trong trường hợp của tôi, nó là VirtualBox.

Khi bạn tắt nguồn rồi khởi động lại máy, http://security.debian.org dường như đã được giải quyết.

Hy vọng điều này sẽ hữu ích.

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