docker:冻结库依赖项

时间:2016-07-05 10:20:18

标签: docker dockerfile

我有以下Docker文件

FROM debian
MAINTAINER Me
ENV NODE_VERSION 6.2.2
RUN apt-get update \
    && apt-get install -y --force-yes --no-install-recommends \
         build-essential \
         ca-certificates \
         git \
         fonts-liberation \
         libfreeimage3 \
         imagemagick \
         python \
         python-numpy \
         python-pip \
         curl \
         xsltproc \
         xz-utils \
    && curl -L https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.xz | tar -xJ \
    && ln -s /node-v$NODE_VERSION-linux-x64/bin/node /usr/bin \
    && ln -s /node-v$NODE_VERSION-linux-x64/bin/npm /usr/bin \
    && curl -L http://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz | tar -xJ \
    && ln -s /ffmpeg-*/ffm* /usr/bin \
    && pip install moviepy \
    && apt-get remove -y \
         python-pip \
         curl \
         xz-utils \
    && rm -Rf /tmp/* \
    && rm -rf /var/lib/apt/lists/*

什么是冻结库依赖关系的正确方法,例如imagemagic,git等...当进行apt-get install时 - 有没有办法冻结类似于在npm shrinkwrap上完成的版本?

任何建议非常感谢

1 个答案:

答案 0 :(得分:0)

基于How to tweak "dpkg -l" output - Ask Ubuntu

dpkg-query --show -f='${binary:Package}=${Version} \\\n' build-essential \
     ca-certificates \
     git \
     fonts-liberation \
     libfreeimage3 \
     imagemagick \
     python \
     python-numpy \
     python-pip \
     curl \
     xsltproc \
     xz-utils

在基于此Dockerfile的Docker容器中运行此命令,以获取要复制到Dockerfile中的文本。