2016-11-23 97 views
-1

我正在寻找一个Docker镜像,它只是安装了NPM和Node.js的一些* nix风格。使用Node.js/NPM预先创建docker容器但没有package.json

此图片

https://hub.docker.com/_/node/

需要一个的package.json文件是否存在,以及码头工人建立使用COPY复制的package.json文件覆盖,而且还寻找一个Node.js的脚本在构建运行时开始。

...我只是需要一个容器使用这种技术来运行shell脚本:

Running a script inside a docker container using shell script

我并不需要一个包:

docker exec mycontainer /path/to/test.sh 

其中我发现通过。 json文件或Node.js启动脚本,我只想要的是

  1. 一个容器图像
  2. 的Node.js和NPM安装

有谁知道,如果有一个是的Node.js/NPM码头工人形象,不需要的package.json文件?也许我应该只使用一个普通的旧容器图像,并添加代码来自己安装Node?

+0

谢谢,我只是想在容器中运行一些测试。原来我可以使用package.json文件的启动脚本来运行有问题的bash脚本。但我真的不需要那个package.json文件。我需要的唯一东西(1)一个容器,(2)NPM和node.js安装。 –

+0

添加了答案,似乎符合我的需求。 –

回答

0

好吧,我试图让这个简单的问题,不幸的是没有人能提供一个简单的答案......直到现在!

而不是使用这个基地形象:

FROM node:5-onbuild 

我们用这个来代替:

FROM node:5 

我读到onbuild,无法弄清楚它是什么,但它增加了,比我需要更多的为我的用例。

下面的代码是我们Dockerfile

# 1. start with this image as a base 
FROM node:5 

# 2. copy the script from real-life into the container (magic) 
COPY script.sh /usr/src/app/ 

# 3. define container entry point which will run our script 
ENTRYPOINT ["/bin/bash", "/usr/src/app/script.sh"] 

您打造泊坞窗图像,像这样:

docker build -t foo . 

那么你运行像这样的图像,这将“运行入口点”:

docker run -it --rm foo 

容器stdout应该流到您运行的终端docker run w这很好(我问的太多了?)。

相关问题