我是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
指令
rm -rf /var/lib/apt/lists/*
或多或少是否定的apt-get update
。此后,APT无法再访问可用软件包列表。将^ {< CD3> }移动到末尾(也许可以考虑使用更安全的^ {< CD4}})。p>在执行
rm -rf /var/lib/apt/lists/*
之后,您正在尝试使用apt-get install
。这肯定不会有好的结局。首先尝试删除rm
命令,看看这是否有帮助。如果确实需要减小图像的大小,那么将rm
命令作为run语句中的最后一个命令如果您确实想减小图像大小,请尝试切换到使用
python:3.8-slim
或python:3.8-alpine
。Alpine与Ubuntu的默认操作系统不同,但它的包管理器可以被告知不要在本地缓存文件。例如某些软件可能以不同的软件包名称提供,因此您必须对此进行检查
相关问题 更多 >
编程相关推荐