[英]Cannot Access Docker Container's Exposed Port
Hello I cannot access the exposed port. 您好我无法访问暴露的端口。 It's a node server (no framework).
它是一个节点服务器(没有框架)。 Chrome sends ERR_EMPTY_RESPONSE.
Chrome发送ERR_EMPTY_RESPONSE。 Each time I change the file and test it I run docker-compose build.
每次我更改文件并测试它时,我都会运行docker-compose build。 How can I get this up and running so my browser can ping port 3000?
如何启动并运行这样我的浏览器可以ping通端口3000?
EDIT: I included my server.js file incase I'm binding the port wrong in node. 编辑:我包含了我的server.js文件,因为我在节点中绑定了错误的端口。
Dockerfile
FROM node:8.11.1-alpine
WORKDIR /usr/src/app
VOLUME [ "/usr/src/app" ]
RUN npm install -g nodemon
EXPOSE 3000
CMD [ "nodemon", "-L", "src/index.js" ]
Docker-compose.yml 泊坞窗,compose.yml
version: '3'
services:
node:
build:
context: ./node
dockerfile: Dockerfile
working_dir: /usr/src/app
volumes:
- ./node:/usr/src/app
networks:
- app-network
env_file: ./.env
environment:
- MESSAGE_QUEUE=amqp://rabbitmq
ports:
- "3000:3000"
links:
- rabbitmq
python:
build:
context: ./python
dockerfile: Dockerfile
working_dir: /usr/src/app
volumes:
- ./python:/usr/src/app
networks:
- app-network
env_file: ./.env
links:
- rabbitmq
rabbitmq:
image: rabbitmq:3.7.4
networks:
- app-network
networks:
app-network:
driver: bridge
Server.js Server.js
const mongoose = require('mongoose')
const hostname = '127.0.0.1';
const port = 3000;
const server = require('./controllers/index');
server.listen(port, hostname, () => {
// Connect To Mongo
mongoose.connect(process.env.MONGO_URI, { keepAlive: true, keepAliveInitialDelay: 300000, useNewUrlParser: true });
mongoose.connection.on('disconnected', () => {
console.error('MongoDB Disconnected')
})
mongoose.connection.on('error', (err) => {
console.error(err)
console.error('MongoDB Error')
})
mongoose.connection.on('reconnected', () => {
console.error('MongoDB Reconnected')
})
mongoose.connection.on('connected', () => {
console.error('MongoDB Connected')
})
console.log(`Server running at http://${hostname}:${port}/`);
});
Try to bind your app to 0.0.0.0 like this 尝试将您的应用绑定到0.0.0.0
const hostname = '0.0.0.0';
it will listen on all network addresses. 它会监听所有网络地址。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.