我正在寻找一个Docker镜像,它只是安装了NPM和Node.js的* nix风格。
此图片
https://hub.docker.com/_/node/
要求存在package.json文件,并且Docker构建使用COPY复制package.json文件,并且它还会查找在运行构建时启动的Node.js脚本。
...我只需要一个容器来运行使用这种技术的shell脚本:
docker exec mycontainer /path/to/test.sh
我发现的是:
Running a script inside a docker container using shell script
我不需要package.json文件或Node.js启动脚本,我想要的只是
有没有人知道Node.js / NPM是否存在不需要package.json文件的Docker镜像?也许我应该只使用一个普通的旧容器图像,然后添加代码来自己安装Node? p>
答案 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
容器标准输出应该流到您运行docker run
的终端,这很好(我问的太多了吗?)。