运行后:
docker run -d nodeapi -p 49160:3000
容器没有启动,当我查看docker日志时看到错误:
[eval]:1
49160:3000
SyntaxError: Unexpected token :
这是我的Dockerfile:
FROM node:10
WORKDIR /usr/app
COPY package.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
编辑:我正在Windows 10上通过Docker Toolbox运行它
答案 0 :(得分:0)
-p 49160:3000
必须位于容器映像nodeapi
之前。 -p 49160:3000
的使用方式将其传递给容器的npm start
,就好像它是命令行标志|参数一样。显然,它不喜欢冒号。
所以
docker run --detach --publish 49160:3000 nodeapi
在调试时,最好以交互方式运行容器:
docker run --interactive --tty --publish=49160:3000 nodeapi