【发布时间】:2017-04-04 06:29:38
【问题描述】:
我有一个运行以下命令的 python 脚本
import mongoengine
client = mongoengine.connect('ppo-image-server-db', host="db", port=27017)
db = client.test_db
test_data = {
'name' : 'test'
}
db.test_data.insert_one( test_data )
print("DONE")
我有一个如下所示的 docker-compose.yml
version: '2'
networks:
micronet:
services:
user-info-service:
restart : always
build : .
container_name: test-user-info-service
working_dir : /usr/local/app/test
entrypoint : ""
command : ["manage", "run-user-info-service", "--host=0.0.0.0", "--port=5000"]
volumes :
- ./:/usr/local/app/test/
ports :
- "5000:5000"
networks :
- micronet
links:
- db
db:
image : mongo:3.0.2
container_name : test-mongodb
volumes :
- ./data/db:/data/db
ports :
- "27017:27017"
但是,每次我运行 docker-compose build 和 docker-compose up 时,python 脚本都无法找到主机(在本例中为“db”)。是否需要任何特殊链接或任何环境变量来传递 mongo 服务器的 IP 地址?
我仍然可以使用 robomongo 访问 dockerized mongo-db
请注意,我还没有为此测试用例创建任何 docker-machine。
您能帮我指出我的配置中缺少什么吗?
【问题讨论】:
标签: python mongodb docker-compose