Tag: 用户

dynamic链接caching在Docker应用程序中被忽略

我试图在Docker容器应用程序中使用dynamic链接caching( /etc/ld.so.cache ),但应用程序没有使用caching来parsing运行时path。 在我的Dockerfile有: COPY myapp.conf /etc/ld.so.conf.d/ RUN ldconfig USER myuser 但是当我构build图像并运行应用程序时,我得到: cannot open shared object file: No such file or directory 但是,在环境中设置path: USER myuser ENV LD_LIBRARY_PATH="PATH=/path/to/my/libs:${LD_LIBRARY_PATH}" 我也可以这样testing图片: docker run –rm myimage ldconfig -v | grep mylib 它find了图书馆。 容器以非root用户身份运行,这可能与它有关。 但是,它仍然无法find共享对象: docker run –rm –user=root myimage

由于您已经是root用户,因此在Dockfile中运行USER root是多余的?

看着这个Dockerfile它明星: FROM sequenceiq/pam:centos-6.5 MAINTAINER SequenceIQ USER root 现在看起来是多余的,因为默认你已经是root 。 但是为了参数的缘故,让我们看看父Dockerfile ….这不会改变用户。 现在我们来看看祖父母Dockerfile。 (它似乎不可用)。 我的问题是:**是否冗余在Dockfile中运行USER root,因为您已经是root用户? **