【问题标题】:Docker expose port - OCI runtime create failedDocker 暴露端口 - OCI 运行时创建失败
【发布时间】:2018-01-19 17:17:22
【问题描述】:

Dockerfile

FROM node:9.4
WORKDIR /app
COPY package.json /app
COPY . /app
CMD node app.js
EXPOSE 80

节点/快递代码

var socket_number = 80
var express = require('express');
var app = express();
....
var http = require('http').Server(app);
var io = require('socket.io')(http);
http.listen(socket_number);

运行

C:\Users\john_\Documents\GitHub\purple_cloud>docker run 171b2830a121 -p 3000:80
docker: Error response from daemon: OCI runtime create failed: container_linux.go:296: starting container process caused “exec: “-p”: executable file not found in $PATH”: unknown.

问题

我做错了什么?

观察

docker run 171b2830a121 不带“-p 3000:80”不会产生错误,但无法访问端口 80 或 3000。

node app.js ...正常工作

【问题讨论】:

  • 在cmd前暴露?

标签: node.js express docker dockerfile


【解决方案1】:

您需要将参数重新排列为docker run。假设您的图像名称是171b2830a121,那么它应该是:

docker run -p 3000:80 171b2830a121

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-01
    • 1970-01-01
    • 2018-09-03
    • 1970-01-01
    • 2022-12-03
    • 2019-10-24
    • 2019-06-22
    • 1970-01-01
    相关资源
    最近更新 更多