在ubuntu上运行的docker崩溃时出现错误“/ bin / bash:加载共享库时出错:”


1

我在ubuntu 14.04中运行了一些mysql docker一段时间。有时,码头工人突然无缘无故地退出。通过运行检查日志

docker log containerID

,它总是给出错误,如,

/bin/bash: error while loading shared libraries: libncurses.so.5: cannot stat shared object: Error 11

要么,

/bin/bash: error while loading shared libraries: libdl.so.2: cannot stat shared object: Error 11

重新启动多次后,docker可以重新启动而不会出现任何错误。大多数相关的已解决的问题是关于错误“无法统计共享对象:没有这样的文件或目录”。你能帮忙找一些根本原因的建议吗?

Docker版本:

 Version:      17.03.2-ce
 API version:  1.27
 Go version:   go1.7.5
 Git commit:   f5ec1e2
 Built:        Tue Jun 27 03:11:13 2017
 OS/Arch:      linux/amd64

货柜信息:

"Config": {
            "Hostname": "9cb17ec714cb",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "3306/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "MYSQL_ROOT_PASSWORD=XXXXXXXX",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "GOSU_VERSION=1.7",
                "MYSQL_MAJOR=5.7",
                "MYSQL_VERSION=5.7.21-1debian8"
            ],
            "Cmd": [
                "mysqld"
            ],
            "ArgsEscaped": true,
            "Image": "mysql:5.7",
            "Volumes": {
                "/var/lib/mysql": {}
            },
            "WorkingDir": "",
            "Entrypoint": [
                "docker-entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": {}
        },

它显示缺少库。你试过安装吗?apt-get install libncurses
罗密欧·尼诺夫

@RomeoNinov感谢您的评论。你的意思是在主机linux或docker容器内安装libncurses吗?奇怪的是,当我多次重启容器时,容器可以成功启动,这似乎可以在没有任何安装的情况下使用这个共享库。今天,我又遇到了另一个与MySQL inmage无关的docker容器的问题。
RayTM

如果这是主机软件的错误,请将其安装在主机上。如果你在运行其他容器时遇到错误对我来说意味着问题出现在主机上
Romeo Ninov

1
@RomeoNinov明白了。同意你我不应该触摸官方docker镜像并检查主机中的libncurses。我会在前几天尝试并更新结果。先感谢您。
RayTM

1
@RomeoNinov在尝试运行'apt-get install libncurses'时,返回错误'无法找到包libncurses'。命令'sudo apt-get install libncurses5'表示它已经是最新版本。最后,运行'sudo apt-get install libncurses5-dev libncursesw5-dev',通过引用google结果来安装lib ncurses。
RayTM
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.