我有一个docker-compose试图启动这个图像vimagick/json-server,但是我添加了一些比文档中显示的默认情况略多的东西,选择传递我自己的服务器文件。
json-server:
image: vimagick/json-server
command: --host 0.0.0.0 -w db.json -r routes.json -m server.js
ports:
- "3000:3000"
volumes:
- ./support/json-server/db.json:/data/db.json
- ./support/json-server/routes.json:/data/routes.json
- ./support/json-server/server.js:/data/server.js
restart: always当我启动docker镜像时,日志只是简单地说明:
Loading server.js
{ Error: Cannot find module 'json-server'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Module.require (internal/modules/cjs/loader.js:690:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (/data/server.js:1:20)我已经检查过我已经在本地安装了json-server,但由于某些原因无法正常工作。
任何想法都会受到欢迎。
发布于 2019-09-06 00:34:46
创建一个名为./json-server的文件夹,并将以下文件放入其中:
文档文件
FROM node:lts-slim
RUN npm install -g json-server
WORKDIR /data
VOLUME /data
EXPOSE 3000
ADD entrypoint.sh /entrypoint.sh
ENTRYPOINT ["bash", "/entrypoint.sh"]
CMD []entrypoint.sh
#!/bin/bash
args="$@"
args="$@ --host 0.0.0.0 --port 3000"
file=/data/db.json
if [ -f $file ]; then
echo "Found $file"
args="$args --watch $file"
fi
echo "json-server $args"
json-server $argsRoutes.json./json/,db.json
如果你想传递或观看其他文件,请编辑上面的内容。
然后在docker-compose.json中,就像这样
json-server:
build: ./json-server
volumes:
- ./json-server/json/:/data
ports:
- 3000:3000发布于 2019-09-06 00:15:24
这里的问题似乎是你通过的事实:
command: --host 0.0.0.0 -w db.json -r routes.json -m server.js这将在容器中运行,所以在本地安装json-server不会改变任何东西,如果你愿意,你可以创建并镜像一个dockerfile,并从vimagick/json-server启动,如下所示:
FROM vimagick/json-server
...如果需要,还可以安装json-server
https://stackoverflow.com/questions/57807727
复制相似问题