【问题标题】:docker nginx, exit code 139docker nginx,退出代码 139
【发布时间】:2021-03-07 16:08:08
【问题描述】:

我正在尝试在 docker 中运行 nginx 网络服务器,但它立即停止并出现退出代码 139。 这是一个全新的设置,容器不会生成日志。

错误 139:表示容器收到 SIGSEGV 失败。 所以不知道它可能是什么:

设置:

我尝试使用以下命令运行 nginx:

docker run nginx

这会在几秒钟后停止,退出代码为 139。 它使用 nginx:latest 图像(来自'pull nginx')。没有其他容器正在运行。 其他没有问题的容器:portainer、netdata、busybox。 还尝试了“rpi-nginx”图像,但同样的错误 139。

'docker inspect nginx'的结果:

[
    {
        "Id": "sha256:7c554206e557aea70d592e48b168d66c8e5ee6604e064cbc20b92bff10a3bc3a",
        "RepoTags": [
            "nginx:latest"
        ],
        "RepoDigests": [
            "nginx@sha256:c3a1592d2b6d275bef4087573355827b200b00ffc2d9849890a4f3aa2128c4ae"
        ],
        "Parent": "",
        "Comment": "",
        "Created": "2020-11-17T22:54:26.514640916Z",
        "Container": "758473294fb95509727018334cc52a102816a0c1c57e6e85a4dcf1158a5be180",
        "ContainerConfig": {
            "Hostname": "758473294fb9",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "80/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "NGINX_VERSION=1.19.4",
                "NJS_VERSION=0.4.4",
                "PKG_RELEASE=1~buster"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "#(nop) ",
                "CMD [\"nginx\" \"-g\" \"daemon off;\"]"
            ],
            "Image": "sha256:3f83e43f035de87c25066e7044216d38353611558187fa4a3335b2c18d3e06a8",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": [
                "/docker-entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": {
                "maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>"
            },
            "StopSignal": "SIGTERM"
        },
        "DockerVersion": "19.03.12",
        "Author": "",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "80/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "NGINX_VERSION=1.19.4",
                "NJS_VERSION=0.4.4",
                "PKG_RELEASE=1~buster"
            ],
            "Cmd": [
                "nginx",
                "-g",
                "daemon off;"
            ],
            "Image": "sha256:3f83e43f035de87c25066e7044216d38353611558187fa4a3335b2c18d3e06a8",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": [
                "/docker-entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": {
                "maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>"
            },
            "StopSignal": "SIGTERM"
        },
        "Architecture": "arm",
        "Os": "linux",
        "Size": 102509632,
        "VirtualSize": 102509632,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/b7377edf293c2cca280779320a3eb4f9210f9149ca768798a43afa3b5d1aacef/diff:/var/lib/docker/overlay2/0751d900e8d7ab471e0876112be7a098be618e179702c5c547ea2f66ebcc4717/diff:/var/lib/docker/overlay2/c3e60839ffc1ebd5cc4ecf21eae2bf2467fe504b953df4a8fa9f87bcfc23c72d/diff:/var/lib/docker/overlay2/ef6e643beefb584790dda69a79126eb46236d651caed98e415abb1304b0ed5ec/diff",
                "MergedDir": "/var/lib/docker/overlay2/5c4b8c7ab51f07f20e6ab25b3ad9f125f7d64c7dc56d84cddc650345e2b3d40f/merged",
                "UpperDir": "/var/lib/docker/overlay2/5c4b8c7ab51f07f20e6ab25b3ad9f125f7d64c7dc56d84cddc650345e2b3d40f/diff",
                "WorkDir": "/var/lib/docker/overlay2/5c4b8c7ab51f07f20e6ab25b3ad9f125f7d64c7dc56d84cddc650345e2b3d40f/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:70d894963bcc7f1b789cc5a26b02403a8144d4588bbc87739641155f5189b2ef",
                "sha256:310c1dc973cc0500d3367cc708b7268a2c44919acff89df8b17ac8898a7f9615",
                "sha256:7f24751cfac568fdbd1c646bfcc405fd952f7a4bfa3d55abb46782f6c65ff5f3",
                "sha256:d044176104cf5ee41702563ed781f9f38d71f78df9e25f6cf862a427d55f6970",
                "sha256:052ab1c348864a58088c6d1ccff5a8a5e32e5d5fed997bab49e7437f97fcf5d6"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]

【问题讨论】:

  • 来自reddit user 的有用(有点)指示:退出代码 > 128 表示进程已用信号终止。在您的情况下,它是 11,因为 128 + 11 = 139。信号编号 11 是分段错误。
  • @β.εηοιτ.βε 谢谢,我知道(SIGSEGV)但无法调试它:(

标签: docker nginx hypriot


【解决方案1】:

我也遇到了同样的错误,不过现在把nginx的版本改成V1.18.0就解决了。

【讨论】:

  • 谢谢。你有更多关于你的设置的信息吗?还是完全一样?降级现在可能会解决它,但我想确定根本原因。
【解决方案2】:

我正在使用 nginx 在家里的 rpi 上运行我的个人博客。我什至写了一篇关于如何快速设置它的完整博客文章。您可以克隆它并在几分钟内启动并运行它。我使用 balena.io 来编排它,非常简单。

这是帖子:https://odyslam.me/blog/balena-nginx-rpi/

如果您还有其他问题,请直接提出来 :)

P.S 我也在这个设置中使用 netdata。这太疯狂了(免责声明,我在 Netdata 工作)。

【讨论】:

  • 感谢您的建议,但我对预打包的 balena.io 映像不感兴趣,我想在我的 rpi 设置上安装 nginx,但这似乎不起作用。是的,Netdata 非常强大。
  • @washichi 您可以在 docker 中使用 nginx,方法是使用我在 balena 中使用的相同 Docker 映像。据我所知,rpi 支持 docker。
  • 是的,但该图像包含在 balena-first-app.img.zip 中。我可以深入研究它,看看它从哪里提取图像。但我 99% 确定这与我从中提取它的来源相同(docker 官方 nginx 映像)。是的,rpi 支持 docker 和 nginx。这就是为什么我无法运行未修改的 nginx 很奇怪。也许是 hypriot 问题?
  • 更新:我查了一下,它是基于 tobi312/rpi-nginx 的。我尝试了该图像,也给了我 139 错误。 (nginx 现在有官方的 arm 图像,所以 tobi312 图像已经过时了)。
【解决方案3】:

nginx 镜像是为 amd64 架构构建的。 有一个针对 arm64 架构的变体:arm64v8/nginx

【讨论】:

  • 谢谢!但是我的“docker inspect nginx”输出显示:“Architecture”:“arm”,。所以应该是手臂?不是所有的“码头工人官方图像”都应该是多架构的吗?从我的树莓派中提取应该用于该架构。
猜你喜欢
  • 1970-01-01
  • 2019-04-07
  • 2022-07-05
  • 2019-08-25
  • 2021-04-02
  • 1970-01-01
  • 2017-01-20
  • 2017-11-03
  • 1970-01-01
相关资源
最近更新 更多