最初,我遇到了一个问题,即mongod
服务完全停止工作。随即,我完全卸载了mongodb并重新安装了它,并按照以下每个线程的说明进行操作:https://askubuntu.com/questions/921753/failed-to-start-mongod-service-unit-mongod-service-not-found
这导致mongod
服务最终启动。
为了使其正常工作,我还必须遵循此线程的指示:
mongo - couldn't connect to server 127.0.0.1:27017
到目前为止,此配置仅工作了1次,那是在我按照说明删除mongod目录中的.lock文件然后修复mongod之后。
我还试图删除此处所述的 socks 文件:MongoDB Failing to Start - ***aborting after fassert() failure
全部项目重置
然后,我尝试将项目完全断开。关闭后端的nodemon,退出前端的ng服务,停止并删除mongo docker容器...然后重试。在解决所有问题之后,这是我的分步过程:
重新启动mongod服务
sudo service mongod restart
重新启动前端(从前端目录执行)
ng serve frontend
重新启动后端(从后端目录执行)
npx nodemon backend
重新启动mongo容器(从deploy目录执行,mongo是docker容器名称,我从现有提供的部署脚本中构建它)
sudo docker-compose up -d mongo
sudo docker ps -a # check container was created and is running
调试信息:
sudo service mongod status
Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset:
Active: active (running) since Thu 2020-01-09 11:21:43 CET; 3min 40s ago
Docs: https://docs.mongodb.org/manual
Main PID: 17242 (mongod)
CGroup: /system.slice/mongod.service
└─17242 /usr/bin/mongod --config /etc/mongod.conf
janv. 09 11:21:43 junior-LIFEBOOK-E752 systemd[1]: Started MongoDB Database Server
sudo mongod2020-01-09T11:25:45.983+0100 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2020-01-09T11:25:45.987+0100 I CONTROL [initandlisten] MongoDB starting : pid=17727 port=27017 dbpath=/data/db 64-bit host=junior-LIFEBOOK-E752
2020-01-09T11:25:45.987+0100 I CONTROL [initandlisten] db version v4.2.2
2020-01-09T11:25:45.987+0100 I CONTROL [initandlisten] git version: a0bbbff6ada159e19298d37946ac8dc4b497eadf
2020-01-09T11:25:45.987+0100 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.1.1d 10 Sep 2019
2020-01-09T11:25:45.987+0100 I CONTROL [initandlisten] allocator: tcmalloc
2020-01-09T11:25:45.987+0100 I CONTROL [initandlisten] modules: none
2020-01-09T11:25:45.987+0100 I CONTROL [initandlisten] build environment:
2020-01-09T11:25:45.987+0100 I CONTROL [initandlisten] distmod: ubuntu1804
2020-01-09T11:25:45.987+0100 I CONTROL [initandlisten] distarch: x86_64
2020-01-09T11:25:45.987+0100 I CONTROL [initandlisten] target_arch: x86_64
2020-01-09T11:25:45.987+0100 I CONTROL [initandlisten] options: {}
2020-01-09T11:25:45.987+0100 E STORAGE [initandlisten] Failed to set up listener: SocketException: Address already in use
2020-01-09T11:25:45.987+0100 I CONTROL [initandlisten] now exiting
2020-01-09T11:25:45.987+0100 I CONTROL [initandlisten] shutting down with code:48
sudo mongo
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("8e813fc2-049c-440d-83ce-0b1d8516c4d0") }
MongoDB server version: 4.2.2
Server has startup warnings:
2020-01-09T11:21:43.352+0100 I STORAGE [initandlisten]
2020-01-09T11:21:43.352+0100 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2020-01-09T11:21:43.352+0100 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem
2020-01-09T11:21:44.848+0100 I CONTROL [initandlisten]
2020-01-09T11:21:44.848+0100 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2020-01-09T11:21:44.848+0100 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2020-01-09T11:21:44.848+0100 I CONTROL [initandlisten]
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).
The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.
To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
因此,这里发生了一些奇怪的事情,它没有从项目中找到数据库,我也不知道为什么。据我所知,它将创建一个包含我的系统详细信息的新数据库。
我该如何解决这个问题并连接到项目数据库?我不能再走了。
最佳答案
它已经解决了。首先,我发现我不需要在本地运行mongod服务,因为mongo已经包含在docker容器中。但这实际上根本不是数据库问题。发生了一些错误,例如有一个代理,但是命令已更改为执行连接,端点在localhost上,但不应在此处,而且我期望看到的内容已被粗心的推送隐藏了来自另一个开发者。娱乐时间!但我们现在可以继续前进。感谢尝试提供帮助的人!
关于mongodb - 从现有项目中加载docker容器,mongo将不会连接到数据库Ubuntu 18.04,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59663060/