gpt4 book ai didi

docker - 在docker python:2.7.12-wheezy镜像上使用apt-get失败

转载 作者:行者123 更新时间:2023-12-02 21:24:33 27 4
gpt4 key购买 nike

我正在尝试使用python图像运行python脚本,但是,我还需要在同一图像上安装gawk。因此,我尝试首先安装gawk。 (为什么gawk?默认情况下,计算机上mawk的版本没有我需要的选项。)

我收到错误消息“E:无法找到gawk软件包”,当我用谷歌搜索时,它说我需要更新/etc/apt/sources.list,但是我也无法做到这一点。 (尝试使用echo '<src>'>>/etc/apt/sources.list,但未返回任何此类文件。)

这是我运行的内容:

$ docker run -w $WORKSPACE -v $WORKSPACE:$WORKSPACE python:2.7.12-wheezy apt-
get install gawk
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package gawk

这不是网络问题,我可以运行update和wget等。
$ docker run -w $WORKSPACE -v $WORKSPACE:$WORKSPACE python:2.7.12-wheezy apt-get update 
Get:1 http://security.debian.org wheezy/updates Release.gpg [1554 B]
Get:2 http://security.debian.org wheezy/updates Release [39.0 kB]
Get:3 http://deb.debian.org wheezy Release.gpg [2373 B]
Get:4 http://security.debian.org wheezy/updates/main amd64 Packages [565 kB]
Get:5 http://deb.debian.org wheezy-updates Release.gpg [1554 B]
Get:6 http://deb.debian.org wheezy Release [191 kB]
Get:7 http://deb.debian.org wheezy-updates Release [155 kB]
Get:8 http://deb.debian.org wheezy/main amd64 Packages [7634 kB]
Get:9 http://deb.debian.org wheezy-updates/main amd64 Packages [7481 B]
Fetched 8597 kB in 14s (584 kB/s)
Reading package lists...

在交互模式下似乎可以正常工作:
$ docker run -it python:2.7.12-wheezy bash
root@0d7daa6b998e:/# apt-get update
... edited ..
Reading package lists... Done
root@0d7daa6b998e:/# apt-get install gawk
Reading package lists... Done
Building dependency tree
Reading state information... Done
... edited ...
Fetched 1001 kB in 2s (444 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
... edited output down...
Setting up gawk (1:4.0.1+dfsg-2.1) ...

最佳答案

看起来您正在尝试在单独的容器中运行每个命令(每次执行docker run...时都是新容器),因此从本质上讲,您正在启动一个容器(例如A)并更新apt,然后运行一个全新的容器(例如B),然后在做apt-get installB不了解A。答案是根据所需的原始镜像创建一个新的Dockerfile,并使用其他命令作为RUN指令,例如:

FROM python:2.7.12-wheezy
RUN \
apt-get update && apt-get install \
gawk && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

然后执行 docker build -t my-new-wheezy-base .并将其用作新图像( FROM my-new-wheezy-base等...)。

关于docker - 在docker python:2.7.12-wheezy镜像上使用apt-get失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40851399/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com