繁体   English   中英

带有“ apt-get install”的软件包在Docker容器中安装在哪里?

[英]Where are the packages installed with `apt-get install` in Docker containers?

成功安装后,我正在尝试在Docker容器中找到libgsl.so库。

当我使用docker run -it container/image bash运行交互式shell并尝试找到它时, find / -iname "*libgsl*"我什么也没得到(该工具尝试在/ usr / lib /下找到它)。 对于另一个成功安装的库(例如libjpeg62),似乎也是如此。

因此,通常, 这些库在哪里安装

我在MacOS中使用VBox运行Docker。 这是Dockerfile文件:

FROM phusion/baseimage

# Install dependencies
RUN apt-get update && apt-get install -y \
  libgsl0ldbl \
  curl \
  gsl-bin

# Installs preseq from sources into /opt/
ENV PRESEQ_RELEASE=2.0
ENV PRESEQ_URL=http://smithlabresearch.org/downloads/preseq_linux_v${PRESEQ_RELEASE}.tar.bz2
ENV DEST_DIR=/opt/

# Download preseq; untar & decompress; remove tr.bz2 file; compile & install preseq; remove unnecessary files
RUN curl -SLo ${DEST_DIR}/preseq_v${PRESEQ_RELEASE}.tar.bz2 ${PRESEQ_URL} && \
  tar -xf ${DEST_DIR}/preseq_v${PRESEQ_RELEASE}.tar.bz2 -C ${DEST_DIR} && \
  rm -f ${DEST_DIR}/preseq_v${PRESEQ_RELEASE}.tar.bz2

ENV PATH=${DEST_DIR}/preseq_v${PRESEQ_RELEASE}:$PATH
CMD ["preseq"]

UPDATE

我在安装了库的地方运行了错误的容器(未使用正确的标签)。 更改标签后,我发现库没有问题。 软件包安装在默认位置(在本例中为/ usr / lib /)。

由于phusion/baseimage使用Ubuntu

向软件包管理询问软件包包含的文件:

dpkg -L libgsl0ldbl

这显示了仅复制到这些位置的文件。 这些文件被标记为由包管理

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM