我有错误与apt-get但不是与pip安装。
这是我的dockerfile的一部分:
FROM python:3.11-bookworm
# Set the shell to Bash
SHELL ["/bin/bash", "-c"]
RUN apt-get update && \
apt-get install libturbojpeg
# Set the working directory
WORKDIR /app
# Copy the contents of airflow-local-env into the container
# remember to build with the righ build context
# e.g
COPY airflow-local-env .
# Install any needed packages specified in requirements.txt excluding apache-airflow
RUN pip install --upgrade pip
RUN grep -v 'apache-airflow' requirements.txt | xargs -n 1 pip install --no-cache-dir --no-build-isolation
# Set the PYTHONPATH to include the plugins directory
ENV PYTHONPATH=$PYTHONPATH:/app/plugins
字符串
在添加apt-get
命令之前,一切正常。现在我得到了这些错误:
> [2/7] RUN apt-get update && apt-get install libturbojpeg:
0.227 Err:1 http://deb.debian.org/debian bookworm InRelease
0.227 407 authenticationrequired [IP: 10.12.9.140 8080]
0.289 Err:2 http://deb.debian.org/debian bookworm-updates InRelease
0.289 407 authenticationrequired [IP: 10.12.9.140 8080]
0.349 Err:3 http://deb.debian.org/debian-security bookworm-security InRelease
0.349 407 authenticationrequired [IP: 10.12.9.140 8080]
0.351 Reading package lists...
0.362 E: The repository 'http://deb.debian.org/debian bookworm InRelease' is not signed.
0.362 E: Failed to fetch http://deb.debian.org/debian/dists/bookworm/InRelease 407 authenticationrequired [IP: 10.12.9.140 8080]
0.362 E: Failed to fetch http://deb.debian.org/debian/dists/bookworm-updates/InRelease 407 authenticationrequired [IP: 10.12.9.140 8080]
0.362 E: The repository 'http://deb.debian.org/debian bookworm-updates InRelease' is not signed.
0.362 E: Failed to fetch http://deb.debian.org/debian-security/dists/bookworm-security/InRelease 407 authenticationrequired [IP: 10.12.9.140 8080]
0.362 E: The repository 'http://deb.debian.org/debian-security bookworm-security InRelease' is not signed.
型
在我看来,似乎有代理问题。但如果是这样的话,为什么pip install
工作?
我已经用--network host
标志构建了镜像。此外,在我的.docker/config.json
中,代理已经配置好了(同样,pip工作正常)。此外,HTTP_PROXY/HTTPS_PROXY
环境变量也配置好了。
我真的不知道问题出在哪里。知道吗?
编辑:我尝试了this answer中解释的方法(复制我本地的apt.conf)。它工作了,但我不喜欢这个解决方案。
1条答案
按热度按时间r1wp621o1#
我将本地
/etc/apt/apt.conf
复制到一个文件中,并将此文件复制到图像中:字符串
现在一切正常,但我的用户和pwd都在这个镜像中,我不喜欢这样。另外,因为我的其他同事能够构建镜像而无需做任何事情,所以我认为我的docker或代理配置存在问题。接受新想法