[英]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.