加载Docker时出错:共享库:libsystemd日志。so.0:无法打开共享对象文件:没有此类文件或目录

加载Docker时出错:共享库:libsystemd日志。so.0:无法打开共享对象文件:没有此类文件或目录,docker,shared-libraries,libsystem,Docker,Shared Libraries,Libsystem,我使用的是Docker版本: Client: Version: 1.9.1 API version: 1.21 Go version: go1.4.2 Git commit: a34a1d5 Built: Fri Nov 20 13:25:01 UTC 2015 OS/Arch: linux/amd64 Server: Version: 1.9.1 API version: 1.21 Go version: go1.

我使用的是Docker版本:

Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:25:01 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:25:01 UTC 2015
 OS/Arch:      linux/amd64
我在Centos 7 我在Docker环境中运行了一个Jenkins容器。 当我访问Jenkins容器并尝试执行Docker命令时,出现以下错误:

libsystemd-journal.so.0: cannot open shared object file: No such file or directory
我试过:[root@localhostlib64]#sudo ln-s/usr/lib64/libsystemd.so.0 libsystemd.so.0 ln:未能创建符号链接“libsystemd.so.0”:文件存在

解决这个问题后我看到了这个问题:


这是同一个问题:

在对的多次评论后,确认可以使用:

由于run命令太多,我将不得不生成dockerfile。
但目前它起作用了:

我提到从容器(“cic”:“容器中的容器”)运行docker意味着装载
docker
可执行文件和
/var/run/docker.sock


显然,这个特定的映像需要在容器中运行多一点。

对于我的开发人员环境,我运行nining并连接到ubuntu映像容器(14.04 LTS)(我还挂载了
/var/run/docker.sock

自从昨天晚上更新了我的主机ubuntu系统后,当我想在dev容器中运行docker命令时,我遇到了相同的错误:

[dev@docker_dev]:~$ docker ps
docker: error while loading shared libraries: libsystemd-journal.so.0: cannot open shared object file: No such file or directory
因此,我进行了更新,并安装了
libsystemd-journal0

[dev@docker_dev]:~$ sudo apt-get update
[dev@docker_dev]:~$ sudo apt-get install libsystemd-journal0

现在我的dev容器可以很好地使用docker命令了。从错误中可以看出,您的可执行文件所需的共享库丢失了。解决此问题的一种方法是:

  • 在Dockerfile中使用“复制”命令复制容器中的共享库/依赖项。示例:复制{local_path}{docker_path}
  • 然后,在标准目录集之前设置首先搜索共享库的环境变量。例如,对于基于Linux的操作系统,使用LD_LIBRARY_PATH。可以通过设置环境变量。示例:ENV LD_LIBRARY_PATH={docker_PATH}:$LD_LIBRARY_PATH

  • 另一种方法是将二进制文件与依赖项(语言相关)静态链接。

    对于Docker 1.10,我还必须安装apparmorthank you,我刚刚看到我的Docker容器中有apparmor。对于Docker 1.10,有很多更改,并且有新的依赖项。他们的网站建议在docker中为docker使用docker容器。@docker hub u/docker通常,对于我的开发容器,我使用的是phusion/baseimage(docker 1.10.3)。所以我试着用ubuntu 14.04LTS从头开始制作一个图像。docker engine的包依赖项包括apparmor、libsystemd-journal0和一系列库。所以它工作得很好。查阅
    [dev@docker_dev]:~$ sudo apt-get update
    [dev@docker_dev]:~$ sudo apt-get install libsystemd-journal0