Search code examples
dockerrhel

docker error while loading shared libraries (RHEL 7.5)


I installed Docker on a Red Hat Enterprise Linux Server 7.5 (Maipo) system:

docker version
Version: 1.13.1
API version: 1.26
Package version: docker-1.13.1-58.git87f2fab.e17.x86_64
OS/Arch: linux/amd64

Now if I try to run a docker image, I get errors similar to this:

docker run docker.io/jupyter/datascience-notebook
tini: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory

I have searched for help and have already taken a multitude of possible actions:

  • libraries seem to be linked correctly
  • all libraries are up to date
  • Hello-World example works

I also came across information saying that running containers from docker.io / hub.docker.com under RHEL is not supported - which I don't really get, as main purpose of docker is to enable running programs independent from their OS...? https://access.redhat.com/solutions/1408853 Does this mean using docker under RHEL does not really provide me with the possibility of easily deploying/sharing a docker-image with non-RHEL users?

Also, does this mean I can only access and use official RHEL-docker images? https://access.redhat.com/containers/?start=90#/search/ As I wanted to use docker to have ready-to-go environments with R-Python/Jupyter/H2o (and similar), I'm disappointed because I could not find suitable images for RHEL there.

So, my questions would be:

  • Is it possible to run docker.io / hub.docker.com images under RHEL7.5?
  • if not, could I share my own created docker images under RHEL7.5 to other users with different OS versions?
  • Are there other projects / sites to share docker-images for data science purposes on RHEL?
  • Would you agree that my next step would be: building my own docker-image, adding R/Python/jupyter step by step?

Best regards, workah0lic


Solution

  • This error message

    tini: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory

    comes from within the container image. It could be a corrupted container image, but the message is also printed when the glibc dynamic linker determines that the kernel features are not sufficient for loading libc.so.6. I looked at the image (digest is sha256:79f929bd0e58fa9cb238dceda48b0c8360e748d09b476b429216c93dac0bd783), and it appears to require kernel 3.2, so the Red Hat Enterprise Linux 7 kernel version of 3.10 should be sufficient.

    In fact, I cannot reproduce this problem with kernel-3.10.0-862.6.3.el7.x86_64 and docker-1.13.1-58.git87f2fab.el7.x86_64. You could try to run this command to obtain additional information about dynamic linker behavior:

    docker run -e LD_DEBUG=all docker.io/jupyter/datascience-notebook