我是Docker的新手,我创建了一个Docker映像,这就是我的Docker文件的外观。
FROM python:3.8.3
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
postgresql-client \
&& rm -rf /var/lib/apt/lists/* \
&& apt-get install -y gcc libtool-ltdl-devel xmlsec1-1.2.20 xmlsec1-devel-1.2.20 xmlsec1 openssl-
1.2.20 xmlsec1-openssl-devel-1.2.20 \
&& apt-get -y install curl gnupg \
&& curl -sL https://deb.nodesource.com/setup_14.x | bash - \
&& apt-get -y install nodejs
WORKDIR /app/
COPY . /app
RUN pip install -r production_requirements.txt \
&& front_end/noa-frontend/npm install
该图像在docker-compose.yml的应用程序服务中使用。因此,当我运行docker-compose构建时,出现以下错误,提示它找不到软件包。这些是我要安装以安装python软件包的一些依赖项。
首先,我运行apt-get update来更新软件包列表。
谁能帮我解决这个问题。
更新的Dockerfile
FROM python:3.8.3
RUN apt-get update
RUN apt-get install -y postgresql-client\
&& apt-get install -y gcc libtool-ltdl-devel xmlsec1-1.2.20 xmlsec1-
devel-1.2.20 xmlsec1 openssl-1.2.20 xmlsec1-openssl-devel-1.2.20 \
&& apt-get -y install curl gnupg \
&& curl -sL https://deb.nodesource.com/setup_14.x | bash - \
&& apt-get -y install nodejs
WORKDIR /app/
COPY . /app
RUN pip install -r production_requirements.txt \
&& front_end/noa-frontend/npm install
您正在尝试使用apt-get install
后做事rm -rf /var/lib/apt/lists/*
。保证不能顺利结束。rm
最初尝试删除命令以查看是否有帮助。如果确实需要减小映像的大小,则将该rm
命令作为run语句中的最后一个命令。
如果您确实想减小图像尺寸,请尝试切换为使用python:3.8-slim
或python:3.8-alpine
。Alpine与Ubuntu的默认操作系统是不同的操作系统,但可以告知其程序包管理器不要在本地缓存文件。例如。
FROM python:3.8-alpine
RUN apk add --no-cache postgresql-client
RUN apk add --no-cache gcc libtool-ltdl-devel xmlsec1-1.2.20 xmlsec1-devel-1.2.20 xmlsec1 \
openssl-1.2.20 xmlsec1-openssl-devel-1.2.20
RUN apk add --no-cache curl gnupg
RUN apk add --no-cache nodejs
RUN curl -sL https://deb.nodesource.com/setup_14.x | bash -
WORKDIR /app/
COPY . /app
RUN pip install -r production_requirements.txt \
&& front_end/noa-frontend/npm install
某些软件可能在不同的程序包名称下可用,因此您必须检查一下。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句