nodejs的安装返回非零代码:1使用docker build

时间:2016-08-22 16:21:55

标签: node.js docker dockerfile

我正在尝试使用以下dockerfile构建一个docker镜像:

FROM         ubuntu:16.10

MAINTAINER   Fátima Alves

COPY         ./dist /myprogram/
WORKDIR      /myprogram


RUN          apt-get update          \
                                  && \
             apt-get install -y      \
               curl                  \
                                  && \
             curl -sL https://deb.nodesource.com/setup_6.x | bash - \
                                  && \
             apt-get install -y      \
               python-dev            \
               libxml2-dev           \
               libxslt1-dev

无论我做什么,这条消息都会出现在终端中:

curl -sL https://deb.nodesource.com/setup_6.x | bash -' returned a non-zero code: 1

我在谷歌找不到任何相关内容。

谢谢!

2 个答案:

答案 0 :(得分:2)

您是否尝试自行运行此操作以查看错误是什么?像这样:

$ docker run --rm -it ubuntu:16.10
[...]
root@96117efa0948:/# apt-get update
[...]
root@96117efa0948:/# apt-get install -y curl
[...]
root@96117efa0948:/# curl -sL https://deb.nodesource.com/setup_6.x | bash -
[...]
## Your distribution, identified as "Ubuntu Yakkety Yak (development 
branch)", is a pre-release version of Ubuntu. NodeSource does not maintain 
official support for Ubuntu versions until they are formally released. You 
can try using the manual installation instructions available at 
https://github.com/nodesource/distributions and use the latest supported 
Ubuntu version name as the distribution identifier, although this is not 
guaranteed to work.
root@96117efa0948:/#

所以基本上,blurb告诉你你的Ubunutu版本还不支持。尝试更改配置文件以使用ubuntu:16.04 - 或者以其他方式安装节点。

答案 1 :(得分:-1)

这是DNS问题,您可以通过以下步骤解决:

1)使用下面的命令nmcli dev show找到您的DNS IP。 grep'IP4.DNS'

IP4.DNS [1]:192.168.0.1

2)在桌面上创建一个名为deamon.json的文件,并且该文件包含以下数据: { "dns": ["192.168.0.1", "8.8.8.8"] }

注意:将IP“ 192.168.0.1”替换为您的DNS IP

3)在系统中转到该目录/ etc / docker /并粘贴刚创建的文件deamon.json

4)然后重新启动您的docker /您的系统,它将解决您的问题。