应用程序未在主机端口上加载 - Docker
Application not loading on host port - Docker
Docker 服务无法在暴露的端口上加载
我创建了一个简单的 DOCKERFILE
并在 docker 群中从中构建了图像“sample-image”,但是每当我尝试通过创建 运行 容器时docker 服务并将其暴露在各自的端口上,但无法在我的浏览器上加载。请帮助
首先我初始化了 docker swarm 并从 dockerfile 创建了一个图像“sample-image”,之后我在 swarm 中创建了覆盖网络“sample-network”并创建了一个服务来运行 容器就可以了 "docker service create --name sample-service -p 8010:8001 --network sample-network sample-image"
。服务已创建,但无法在浏览器上加载,因为我也为端口 8010
启用了我的 ufw。
DOCKERFILE:
FROM node:8
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8001
CMD [ "npm", "start" ]
server.js:
'use strict';
const express = require('express');
const PORT = 8001;
const HOST = '0.0.0.0';
const app = express();
app.get('/', (req, res) => {
res.send('Hello world\n');
});
app.listen(PORT, HOST);
console.log(`Running on http://${HOST}:${PORT}`);
我希望我的网络浏览器在公开的端口号上显示“Hello world”。
您检查过 docker 日志了吗?那应该给你出了什么问题。
$ docker logs <containerid>
我觉得你的监听端口在docker里面是8010,在docker外面是8001,你换个-p 8001:8001
试试?如果有效,请尝试 -p 8001:8010
.
您可以尝试 "curl -v http://127.0.0.1:8081" 并将输出粘贴到此处吗?还有,你是不是在service或者dockerd启动后操作了ufw?
Docker 服务无法在暴露的端口上加载
我创建了一个简单的 DOCKERFILE
并在 docker 群中从中构建了图像“sample-image”,但是每当我尝试通过创建 运行 容器时docker 服务并将其暴露在各自的端口上,但无法在我的浏览器上加载。请帮助
首先我初始化了 docker swarm 并从 dockerfile 创建了一个图像“sample-image”,之后我在 swarm 中创建了覆盖网络“sample-network”并创建了一个服务来运行 容器就可以了 "docker service create --name sample-service -p 8010:8001 --network sample-network sample-image"
。服务已创建,但无法在浏览器上加载,因为我也为端口 8010
启用了我的 ufw。
DOCKERFILE:
FROM node:8
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8001
CMD [ "npm", "start" ]
server.js:
'use strict';
const express = require('express');
const PORT = 8001;
const HOST = '0.0.0.0';
const app = express();
app.get('/', (req, res) => {
res.send('Hello world\n');
});
app.listen(PORT, HOST);
console.log(`Running on http://${HOST}:${PORT}`);
我希望我的网络浏览器在公开的端口号上显示“Hello world”。
您检查过 docker 日志了吗?那应该给你出了什么问题。
$ docker logs <containerid>
我觉得你的监听端口在docker里面是8010,在docker外面是8001,你换个-p 8001:8001
试试?如果有效,请尝试 -p 8001:8010
.
您可以尝试 "curl -v http://127.0.0.1:8081" 并将输出粘贴到此处吗?还有,你是不是在service或者dockerd启动后操作了ufw?