docker info hangs without output

خرید بک لینک

I'm attempting to use the following version of docker on a Linux VM, built from the docker_git BitBake recipe:

$ docker --version
Docker version 1.6.2, build 7c8fca2-dirty

If I try to run docker info, it simply hangs without any output.

I've done an strace docker info with the full output pasted here, and the last couple lines of this strace posted below:

epoll_create1(EPOLL_CLOEXEC)            = 4
epoll_ctl(4, EPOLL_CTL_ADD, 3, {EPOLLIN|EPOLLOUT|EPOLLRDHUP|EPOLLET, {u32=3674064336, u64=140255831115216}}) = 0
connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/docker.sock"}, 23) = 0
getsockname(3, {sa_family=AF_LOCAL, NULL}, [2]) = 0
getpeeame(3, {sa_family=AF_LOCAL, sun_path="/var/run/docker.sock"}, [23]) = 0
read(3, 0xc208017000, 4096)             = -1 EAGAIN (Resource temporarily unavailable)
write(3, "GET /v1.18/info HTTP/1.1Host: "..., 89) = 89
epoll_wait(4, {{EPOLLOUT, {u32=3674064336, u64=140255831115216}}}, 128, 0) = 1
epoll_wait(4,

and if I interrupt this command with Ctrl-C, the last couple lines change to:

epoll_create1(EPOLL_CLOEXEC)            = 4
epoll_ctl(4, EPOLL_CTL_ADD, 3, {EPOLLIN|EPOLLOUT|EPOLLRDHUP|EPOLLET, {u32=3674064336, u64=140255831115216}}) = 0
connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/docker.sock"}, 23) = 0
getsockname(3, {sa_family=AF_LOCAL, NULL}, [2]) = 0
getpeeame(3, {sa_family=AF_LOCAL, sun_path="/var/run/docker.sock"}, [23]) = 0
read(3, 0xc208017000, 4096)             = -1 EAGAIN (Resource temporarily unavailable)
write(3, "GET /v1.18/info HTTP/1.1Host: "..., 89) = 89
epoll_wait(4, {{EPOLLOUT, {u32=3674064336, u64=140255831115216}}}, 128, 0) = 1
epoll_wait(4, 7ffc9bc3a170, 128, -1)    = -1 EINTR (Interrupted system call)
--- SIGINT {si_signo=SIGINT, si_code=SI_KERNEL} ---
exit_group(2)
+++ exited with 2 +++

From man epoll_wait, the arguments are as follows:

int epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout);

The epoll_wait() system call waits for events on the epoll(7) instance referred to by the file descriptor epfd. The memory area pointed to by events will contain the events that will be available for the caller. Up to maxevents are retued by epoll_wait(). The maxevents argument must be greater than zero.

The timeout argument specifies the minimum number of milliseconds that epoll_wait() will block. (This interval will be rounded up to the system clock granularity, and keel scheduling delays mean that the blocking interval may overrun by a small amount.) Specifying a timeout of -1 causes epoll_wait() to block indefinitely, while specifying a timeout equal to zero cause epoll_wait() to retu immediately, even if no events are available.

So to distill down some of this info (using the second-to-last line as an example):

  • 4 is simply a file descriptor
  • {{EPOLLOUT, {u32=3674064336, u64=140255831115216}}} is a pointer to a memory location containing epoll events
  • there are 128 maximum epoll events
  • timeout zero means that epoll will retu immediately

It seems to me as though there may be some sort of error in the events pointer in the last line (but then again I'm a newb)?

What's causing docker info to hang and how can it be fixed?

Recent Questions...

ما را در سایت Recent Questions دنبال می‌کنید

برچسب: نویسنده: استخدام کار بازدید: 185 تاريخ: سه شنبه 4 خرداد 1395 ساعت: 23:13

صفحه بندی