2016-11-23 100 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這很好(我問的太多了?)。

相關問題