Docker报错SyntaxError: Unexpected token ':'

3

我有一个非常简单的项目express应用程序。我已经将应用程序docker化,但在运行docker run命令时遇到了问题。

当我运行docker run test -p 8080:3000时,我一直看到这个错误。

docker run test -p 8080:3000
[eval]:1
8080:3000
    ^

SyntaxError: Unexpected token ':'
    at new Script (vm.js:99:7)
    at createScript (vm.js:249:10)
    at Object.runInThisContext (vm.js:297:10)
    at Object.<anonymous> ([eval]-wrapper:10:26)
    at Module._compile (internal/modules/cjs/loader.js:1176:30)
    at evalScript (internal/process/execution.js:94:25)
    at internal/main/eval_string.js:23:3

我的Dockerfile看起来像这样:

FROM node:alpine
RUN apk update && apk add python make g++
WORKDIR /app
COPY ./package.json ./
RUN npm install
COPY ./ ./
CMD ["npm", "run", "dev"]

如果我运行docker run imageName,容器启动正常。但是因为我没有进行端口映射,所以无法使用应用程序。
我做错了什么?
1个回答

4
问题出在我运行的命令上。应该将 docker run test -p 8080:3000 改为 docker run -p 8080:3000 test

只是提醒一下,您原始的参数顺序在我的 Mac OS(11.6)上运行良好,但我需要在 Oracle Linux 8.5 上使用您修改后的顺序。 - Tony Adams

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接