【发布时间】:2019-09-25 01:38:21
【问题描述】:
Docker 服务无法在暴露的端口上加载
我创建了一个简单的DOCKERFILE 并在 docker swarm 中从它构建了图像“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-swarm docker-container docker-image