在docker python上使用apt get失败:2.7.12-wheezy图像
我正在尝试使用python映像来运行python脚本,但是,我还需要对同一映像进行查看。所以我尝试先安装gawk。(为什么要gawk?默认情况下,机器上的mawk版本没有我需要的选项。) 我收到错误“E:找不到package gawk”,当我在谷歌上搜索时,它说我需要更新在docker python上使用apt get失败:2.7.12-wheezy图像,docker,Docker,我正在尝试使用python映像来运行python脚本,但是,我还需要对同一映像进行查看。所以我尝试先安装gawk。(为什么要gawk?默认情况下,机器上的mawk版本没有我需要的选项。) 我收到错误“E:找不到package gawk”,当我在谷歌上搜索时,它说我需要更新/etc/apt/sources.list,但我也无法做到这一点。(尝试了echo'>/etc/apt/sources.list,但没有返回这样的文件。) 以下是我的跑步记录: $ docker run -w $WORKSPAC
/etc/apt/sources.list
,但我也无法做到这一点。(尝试了echo'>/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
这不是网络问题,我可以运行更新和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) ...
您的错误似乎是从以下评论添加到apt源中:
(尝试了echo“”>>/etc/apt/sources.list,但未返回此类文件。)
如果您这样运行:
docker run some-image echo '<src>'>>/etc/apt/sources.list
您的错误似乎是从以下评论添加到apt源中:
(尝试了echo“”>>/etc/apt/sources.list,但未返回此类文件。)
如果您这样运行:
docker run some-image echo '<src>'>>/etc/apt/sources.list
看起来您正试图在一个单独的容器中运行每个命令(每次执行docker run…
),因此本质上您正在启动一个容器(例如a
)并更新apt,然后运行一个全新的容器(例如B
)并执行apt get install
)<代码>B
不了解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构建-t我的新wheezy base。
并将其用作你的新映像(来自我的新wheezy base
等…。看起来你试图在一个单独的容器中运行每个命令(每次你运行docker…
),所以本质上你是在启动一个容器(例如a
)更新apt,然后运行一个全新的容器(例如B
)并执行apt get install
<代码>B不了解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构建-t我的新哮鸣音基地。
并将其用作你的新图像(来自我的新哮鸣音基地
等…。你是先运行更新的吗?如果这个文件不存在,你能创建它吗?这个文件确实存在,我可以运行更新。这里有一些不完整的故事,所以只需要获取上下文。你知道你在运行完全不同的容器,对吗?如果您在一个容器shell中完成所有这些操作(使用docker run-it-w/test python:2.7.12-wheezy bash
),那会怎么样?因为您每次都在创建新的容器。只有在交互式的容器中,您才能在一个容器中完成所有操作。如果您想运行几个步骤(更新、回显、安装等),最好使用python:2.7.12-wheezy作为基础构建Dockerfile。您是否先运行了update
?如果这个文件不存在,你能创建它吗?这个文件确实存在,我可以运行更新。这里有一些不完整的故事,所以只需要获取上下文。你知道你在运行完全不同的容器,对吗?如果您在一个容器shell中完成所有这些操作(使用docker run-it-w/test python:2.7.12-wheezy bash
),那会怎么样?因为您每次都在创建新的容器。只有在交互式的容器中,您才能在一个容器中完成所有操作。如果您想运行几个步骤(更新、回显、安装等),最好使用python:2.7.12-wheezy作为基础构建Dockerfile。这很有帮助。然而,现在我发现它在交互方面工作得很好(根据johnharris85的评论,我认为我不需要添加任何内容,我只需要运行更新然后安装。这很有帮助。然而,现在我发现它在交互方面工作得很好(根据johnharris85的评论,我不认为我需要添加任何内容,我只需要运行更新,然后安装。