构建Docker容器

时间:2018-07-26 12:28:17

标签: docker sbt containers

在项目上下文中,我必须在Docker容器中运行sbt应用程序。 这就是为什么我创建了Dockerfile的原因,但是当我尝试构建容器时,出现了一个错误,但我不明白为什么。

我的代码如下:

FROM centos:latest

RUN curl -LO "https://nodejs.org/dist/latest/node-v10.7.0-linux-x64.tar.gz" && tar -xzf node-v10.7.0-linux-x64.tar.gz -C /usr/local --strip-components=1  && rm node-v0.12.5-linux-x64.tar.gz

ADD app/abc/

WORKDIR /app

RUN npm install

RUN npm run build

CMD sbt plt/run

EXPOSE 9001

那是错误:

Sending build context to Docker daemon 745.3MB Step 1/8 : FROM centos:latest ---> 49f7960eb7e4 Step 2/8 : RUN curl -LO "https://nodejs.org/dist/latest/node-v10.7.0-linux-x64.tar.gz" && tar -xzf node-v10.7.0-linux-x64.tar.gz -C /usr/local --strip-components=1 && rm node-v0.12.5-linux-x64.tar.gz -o StrictHostKeyChecking=no ---> Running in d863c7cb398e % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0curl: (6) Could not resolve host: nodejs.org; Unknown error The command '/bin/sh -c curl -LO "https://nodejs.org/dist/latest/node-v10.7.0-linux-x64.tar.gz" && tar -xzf node-v10.7.0-linux-x64.tar.gz -C /usr/local --strip-components=1 && rm node-v0.12.5-linux-x64.tar.gz -o StrictHostKeyChecking=no' returned a non-zero code: 6

有人知道这是什么问题吗?

非常感谢。

FM

1 个答案:

答案 0 :(得分:1)

消息returned a non-zero code表示命令失败。

如果您阅读上一行,则curl返回了以下错误:Could not resolve host: nodejs.org; Unknown error

这意味着在构建期间,您无法访问“ nodejs.org”主机名。

我也无法使用您的命令行(我有同样的错误)。您应该遵循their documentation for installing Node.js for CentOS

RUN curl --silent --location https://rpm.nodesource.com/setup_10.x | bash - && yum -y install nodejs

如果您可以使用CentOS以外的其他系统,则可以使用Node.JS base image from hub.docker.com。 在您的Dockerfile中:

FROM node:8 (or another version)