【问题标题】:Docker container apt-get install can't find packageDocker 容器 apt-get install 找不到包
【发布时间】:2015-11-05 04:59:05
【问题描述】:

我正在尝试通过我拥有的 node.js 脚本启动一个填充 mongo 的 docker 容器。

使用下面的脚本,我得到了错误:

Step 2 : RUN apt-get update && apt-get install -y nodejs
 ---> Running in 7ed0f8e018e7
Get:1 http://security.debian.org wheezy/updates Release.gpg [1554 B]
Get:2 http://security.debian.org wheezy/updates Release [102 kB]
Get:3 http://httpredir.debian.org wheezy Release.gpg [2373 B]
Get:4 http://security.debian.org wheezy/updates/main amd64 Packages [405 kB]
Get:5 http://httpredir.debian.org wheezy-updates Release.gpg [1554 B]
Get:6 http://httpredir.debian.org wheezy Release [191 kB]
Get:7 http://httpredir.debian.org wheezy-updates Release [143 kB]
Get:8 http://httpredir.debian.org wheezy/main amd64 Packages [7637 kB]
Get:9 http://httpredir.debian.org wheezy-updates/main amd64 Packages [5788 B]
Fetched 8490 kB in 5s (1444 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package nodejs

使用这个 dockerfile:

FROM mongo:2.6.11

ENV NODE_ENV docker

RUN apt-get update && apt-get install -y nodejs

为什么apt-get找不到nodejs?

【问题讨论】:

标签: linux node.js ubuntu docker


【解决方案1】:

似乎我在apt-get install 之前错过了RUN curl --silent --location https://deb.nodesource.com/setup_0.10 | bash -

【讨论】:

    【解决方案2】:

    当您使用基于debian:wheezy 的图像时,您可能需要查看https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions 上旧发行版上的注意

    【讨论】:

    • 我实际上想要 Node 0.10.40 而不是 4.x
    • 包名应该不一样吧?
    • 我只是在尝试其他事情。这两个都给出相同的结果:root@503229baf152:/# apt-get install -y nodejs Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package nodejs root@503229baf152:/# apt-get install -y nodejs=0.10.40 Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package nodejs
    • 你为什么不使用普通的 ubuntu 什么的?将 node 安装在与 mongo 相同的容器中通常是一个坏主意,除了更精美的图像往往会删除“不需要”的东西,这可能会导致您遇到类似的事情。
    • 我已经有一个节点容器来运行我的 node.js 服务器。我想要一个 mongo 容器,当我安装 mongo 容器时,我想在 node.js 脚本中使用 json 数据填充 mongo 数据库。根据我对 docker 的理解,如果我的 node.js 容器中有一个 CMD 来填充 mongo,我不确定如何让一个 CMD 也启动我的 node.js 服务器,因为每个容器只能有一个 CMD。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-18
    • 2014-05-06
    • 2016-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    相关资源
    最近更新 更多