我在docker / mongodb上创建了这个docker-复合文件,然后使用命令docker-compose up -d启动容器,这是非常标准的。
# Use root/example as user/password credentials
version: '3.1'
services:
mongo:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
mongo-express:
image: mongo-express
restart: always
ports:
- 8081:8081
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: example
ME_CONFIG_MONGODB_URL: mongodb://root:example@mongo:27017/bf4a595a508d mongo-express "tini -- /docker-ent…" About an hour ago Up About an hour 0.0.0.0:8081->8081/tcp, :::8081->8081/tcp intake-app_mongo-express_1
b5fcc2d2386d mongo "docker-entrypoint.s…" About an hour ago Up About an hour 27017/tcp intake-app_mongo_1现在我正试着连接我的后端。
如果使用postresql,它将类似于postgresql://root:example@localhost:8081/db_name
蒙戈是怎么回事?
PS:我可以在http://localhost:8081上连接到我的浏览器中的数据库,但是我不能用mongo从命令行连接到数据库。
发布于 2021-08-14 21:02:17
来自正式码头枢纽页面:
映像中的MongoDB服务器侦听标准的MongoDB端口27017,因此通过Docker网络进行连接将与连接到远程单神相同。
你没有说明你是从哪里和如何连接的。如果它是另一个容器,那么您可以直接使用端口,否则您需要首先公开它。
至于连接字符串,通常来自官方文件:
mongodb://$/$?authSource=$ -用户名$
您还可以使用您使用的mongo-express容器来获取上述或从码头集线器自述的详细信息。所以在你的情况下:
mongodb://root:example@mongo:27017/
如果客户端不在同一个堆栈中的码头容器中,则需要从第一个mongodb容器中公开端口27017:
ports:
- "27017:27017"https://serverfault.com/questions/1074576
复制相似问题