我有一个容器的问题,即使它完美地构建它也不能正确启动。原因是我添加到 Dockerfile 的一种解决方法(用于自我配置的 /etc/hosts 路由)
RUN mkdir -p -- /lib-override /etc-override && cp /lib/libnss_files.so.2 /lib-override
ADD hosts.template /etc-override/hosts
RUN perl -pi -e 's:/etc/hosts:/etc-override/hosts:g' /lib-override/libnss_files.so.2
ENV LD_LIBRARY_PATH /lib-override
Run Code Online (Sandbox Code Playgroud)
显然那里有一些错误,但我想知道如何获得有关 docker 在运行时正在做什么的更多信息。例如,这有效:
$ docker run image ls
usr bin ...
Run Code Online (Sandbox Code Playgroud)
但这不会:
$ docker run image ls -l
$
Run Code Online (Sandbox Code Playgroud)
日志中没有任何内容,我也无法调用交互式 shell。我可以使用 strace 来查看发生了什么,但我希望有更好的方法。
有什么办法可以将 docker 设置得更详细吗?
编辑:感谢 Andrew D。我现在知道上面的代码有什么问题(我留下了它以便可以理解他的答案)。现在的问题仍然是我如何调试这样的东西或了解为什么ls -l失败,为什么ls没有。
编辑: -D=true 可能会提供更多输出,但在我的情况下不是......
Pet*_*erg 148
Dockerevents命令可能会有所帮助,Docker logs命令甚至可以在映像启动失败后获取日志。
首先docker events在后台启动,看看发生了什么。
docker events&
Run Code Online (Sandbox Code Playgroud)
然后运行失败的docker run ...命令。然后您应该在屏幕上看到类似以下内容:
2015-12-22T15:13:05.503402713+02:00 xxxxxxxacd8ca86df9eac5fd5466884c0b42a06293ccff0b5101b5987f5da07d: (from xxx/xxx:latest) die
Run Code Online (Sandbox Code Playgroud)
然后您可以从上一条消息或运行命令的输出中获取启动十六进制 ID。然后你可以将它与日志命令一起使用:
docker logs <copy the instance id from docker events messages on screen>
Run Code Online (Sandbox Code Playgroud)
您现在应该看到失败的图像启动的一些输出。
正如@alexkb 在评论中所建议的那样:docker events&如果您的容器不断从 AWS ECS 服务之类的东西重新启动,可能会很麻烦。在这种情况下,从日志中获取容器十六进制 ID 可能更容易/var/log/ecs/ecs-agent.log.<DATE>。然后使用 docker logs <hex id>。
est*_*ani 21
到目前为止,我发现的最好的是:
#stop the current demon and start it in debug modus
sudo service docker stop
dockerd -D # --debug
Run Code Online (Sandbox Code Playgroud)
刚从一个新的 shell 启动客户端。误解是认为客户端实际上可以做任何事情......它只是与守护进程通信,所以你不想调试客户端而是守护进程本身(通常)。
小智 19
就我而言,-a(附加到 STDOUT/STDERR)标志就足够了:
user@machine:~$ docker start -a server_name
Error: The directory named as part of the path /log/log_path/app.log does not exist.
For help, use /usr/bin/supervisord -h
Run Code Online (Sandbox Code Playgroud)
它显示了启动错误(在我们的例子中,缺少 使用的日志路径supervisord)。我认为大多数容器启动错误也会出现在这里。
| 归档时间: |
|
| 查看次数: |
231017 次 |
| 最近记录: |