Docker 容器立即终止 - 如何找出原因?

问题描述 投票:0回答:1

我想在 Docker 中运行一个 VoIP 客户端(linphone)。

我唯一能够构建的是:https://github.com/develpudu/docker-linphone

这里是构建命令的输出:

PS C:\dev\git> docker build -t docker-linphone docker-linphone/develpudu
[+] Building 3.6s (11/11) FINISHED
 => [internal] load build definition from Dockerfile                                                               0.1s
 => => transferring dockerfile: 1.46kB                                                                             0.0s
 => [internal] load .dockerignore                                                                                  0.0s
 => => transferring context: 2B                                                                                    0.0s
 => [internal] load metadata for docker.io/library/ubuntu:bionic                                                   3.4s
 => [1/6] FROM docker.io/library/ubuntu:bionic@sha256:14f1045816502e16fcbfc0b2a76747e9f5e40bc3899f8cfe20745abaafe  0.0s
 => [internal] load build context                                                                                  0.0s
 => => transferring context: 95B                                                                                   0.0s
 => CACHED [2/6] RUN apt-get update && apt-get install -y     linphone     doxygen     pkg-config     pulseaudio   0.0s
 => CACHED [3/6] COPY DockerMain.sh /                                                                              0.0s
 => CACHED [4/6] COPY pulse-client.conf /etc/pulse/client.conf                                                     0.0s
 => CACHED [5/6] COPY hosts /etc/hosts                                                                             0.0s
 => CACHED [6/6] RUN export PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"          0.0s
 => exporting to image                                                                                             0.0s
 => => exporting layers                                                                                            0.0s
 => => writing image sha256:ce3a667dd1c727019f7c53803b2a59345bd63d388e34d33e7380f5a9350e9f0a                       0.0s
 => => naming to docker.io/library/docker-linphone                                                                 0.0s

之后我运行图像:

docker run -it --rm docker-linphone

容器随后出现在 Docker Desktop 中,但是当我按下“开始”按钮时,状态变为“正在运行”,并在一两秒后变为“退出”(255)。在日志选项卡中没有显示任何内容。

还有其他方法可以找出问题所在吗?

docker linphone
1个回答
0
投票

当 Docker 镜像像这样终止时,您的调试策略是覆盖其默认命令,然后从内部手动运行它们。

您可以使用

docker inspect <image>
为您的图像找到
Cmd
Entrypoint
。这会告诉您容器在启动时执行的操作。然后,您可以使用
docker run -it --rm docker-linphone /bin/bash
之类的东西开始您的图像,以使用外壳覆盖
Cmd
(如果有入口点,那么您也需要使用
--entrypoint
覆盖它)。

然后在 shell 中,您可以运行映像在启动时执行的常规命令并监视发生的情况。

© www.soinside.com 2019 - 2024. All rights reserved.