首先,感谢您阅读我的问题,并尝试帮助我并为我的英语道歉。
我正在尝试使用Express Server项目和Mongo运行Docker。
我正在使用docker-compose,但是当我运行docker-compuse up build
时返回了下一个错误:
Error starting userland proxy: listen tcp 0.0.0.0:27017: bind: address already in use
ERROR: Encountered errors while bringing up the project.
我正在寻找解决方案,我发现问题是其他应用程序可能正在使用相同的端口或正在停止apache,但这是行不通的。
我正在复制myapp,它也是在express和复制node_modules中开发的项目。
在我的快速后端中,我使用猫鼬:
// Database connection
mongoose.connection.openUri(`mongodb://mongo:27017/AxisDesigner`, { useNewUrlParser: true }, (err, res) => {
if (err) {
console.log('Error: Database not running on port 27017: \x1b[31m%s\x1b[0m', 'offline');
// console.log('throw err: ', err);
throw err;
}
console.log('Database running on port 27017: \x1b[32m%s\x1b[0m', 'online');
});
你能帮我吗?
这是我的docker-compose.yml
version: '2'
# Define the services/containers to be run
services:
myapp: #name of your service
build: ./ # specify the directory of the Dockerfile
ports:
- "8080:8080" #specify ports forwarding
depends_on:
- mongo
mongo: # name of the service
image: mongo:4.0.0-xenial # specify image to build container from
ports:
- "27017:27017"
这是我的Dockerfile:
FROM node:carbon
MAINTAINER Machinegun
RUN adduser --disabled-login develop
WORKDIR /home/develop
# Copy source code
COPY expressapp expressapp
USER develop
# Expose port and start application
EXPOSE 8080
CMD ["npm", "start"]