我正在尝试使用
mongo
和 mongo-express
进行简单的 docker-compose,并尝试使用 Python 脚本插入文档。该项目已成功添加到 mongodb
,但未在 mongo-express
中显示。请帮助我。
compose.yaml
version: '3.0'
services:
mongodb:
image: mongo
container_name: mongodb
ports:
- "27017:27017"
mongo-express:
image: mongo-express
environment:
- ME_CONFIG_MONGODB_SERVER=mongodb
- ME_CONFIG_MONGODB_PORT=27017
container_name: mongo-express
ports:
- "8080:8081"
测试.py
from pymongo import MongoClient
# Connect to MongoDB
client = MongoClient('mongodb://localhost:27017')
# Connect to database
db = client['testing']
# Connect to collection
collection = db['testcollection']
# Insert document
try:
collection.insert_one({"name": "John Doe", "age": 100})
print("test complete")
except:
print("there was an error")
else:
print("Finished")
---
码头工人:
2aefafcbafa7 mongo "docker-entrypoint.s…" 16 minutes ago Up 16 minutes 0.0.0.0:27017->27017/tcp mongodb
a971ac83bade mongo-express "/sbin/tini -- /dock…" 16 minutes ago Up 16 minutes 0.0.0.0:8080->8081/tcp mongo-express
docker 网络检查桌面_默认值:
[
{
"Name": "desktop_default",
"Id": "5c29ea429da3644b4726a45b7a918eefe086c26bea58d75d761f7fcdb234eea6",
"Created": "2024-09-01T08:35:42.61717286Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"2aefafcbafa716dadb624d4252d355e054bbaed45a1612e85e1c5cdf48c5ec44": {
"Name": "mongodb",
"EndpointID": "9430405d03ed9741bdd6c30afecbd881ee976fd96f7675fccd520d3c38fda899",
"MacAddress": "02:42:ac:12:00:03",
"IPv4Address": "172.18.0.3/16",
"IPv6Address": ""
},
"a971ac83badeb40a2f531c8c42740ca8b9ce62047af6a40342887f151f4156d8": {
"Name": "mongo-express",
"EndpointID": "c6c8bbd4ecd90b88c94ee4cecd07eb40d9dc3c26c41f4ee3da51ed43b0543f61",
"MacAddress": "02:42:ac:12:00:02",
"IPv4Address": "172.18.0.2/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {
"com.docker.compose.network": "default",
"com.docker.compose.project": "desktop",
"com.docker.compose.version": "2.29.1"
}
}
]
我对此失去了理智。
您可以进入 MongoDB 容器并使用 MongoDB shell 检查数据是否位于正确的数据库和集合中:
docker exec -it mongodb mongo use testing db.testcollection.find().pretty()
这将向您显示测试集合中的文档。