обновление 2
Я сталкиваюсь с другой ошибкой, если я использую путь следующим образом, я получу ошибку "Недопустимая спецификация тома" даже при изменении пути на "C: / docker -entrypoint-initdb.d / ", init-mon go. sh не будет выполнен, тогда я получаю" UserNotFound: Не удалось найти пользователя "xxxx" для db "admin"
volumes:
- ./init-mongo/:/docker-entrypoint-initdb.d/
- dbdata:/data/db
поэтому я переключаюсь на linux контейнер, и все сообщения об ошибках пропадают.
update
Я решил проблему после отключения службы mongodb на локальном компьютере. host
net stop MongoDB
и использовать порт 27017
mongodb:
....
ports:
- "27017:27017"
.....
, но я хотел бы знать, почему я не могу изменить порт 27017 на другие? Я изменяю порт, потому что, если на моем компьютере работает mongodb (используя порт 27017), я получу следующее сообщение об ошибке, спасибо.
for mongodb Cannot start service mongodb: failed to create endpoint mongodb on network server_app_network: hnsCall failed in Win32: The process cannot access the file because it is being used by another process. (0x20)
оригинал
Я использую docker windows контейнер на windows 10. После двух дней борьбы я все еще не могу успешно развернуть свой проект. Моя конфигурация следующая, спасибо за помощь ..
s erver. js
const dbUrl = "mongodb://mongodb:27018/";
mongoose
.connect(`${dbUrl}mydb`, { useUnifiedTopology: true, useNewUrlParser: true })
.then(res => {
db = mongoose.connection;
app.listen(port, () => {
console.log(`listening on port ${port}`);
});
})
.catch(error => console.log(error));
docker -compose.yml
version: "3"
services:
express-server:
build:
context: .
dockerfile: Dockerfile
image: express-server
container_name: express-server
restart: unless-stopped
ports:
- "3000:3000"
links:
- mongodb
depends_on:
- mongodb
networks:
- app_network
mongodb:
image: mongo
container_name: mongodb
restart: unless-stopped
ports:
- "27018:27018"
networks:
- app_network
volumes:
dbdata:
networks:
app_network:
driver: nat
после запуска docker -создать --build -d
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7fac2380c803 express-server "node server.js" 57 seconds ago Up 43 seconds 0.0.0.0:3000->3000/tcp express-server
9afc21569a1a mongo "mongod --bind_ip_all" About a minute ago Up 57 seconds 27017/tcp, 0.0.0.0:27018->27018/tcp mongodb