我可以从其他docker集装箱种植一个mongodbdocker集装箱吗?

我可以从另一个容器播种正在运行的mongodb容器吗? 我可以用docker-compose来做,但是这意味着每次启动时都会播种,并会在我的数据库中创build重复的数据。

这是我的撰写文件的一部分:

version: '5.2' # specify docker-compose version # Define the services/containers to be run services: database: # My database image: mongo # specify image to build container from ports: - "27017:27017" # specify port forewarding 

Dockerfile我想用来种子

 FROM mongo COPY init.json /init.json CMD mongoimport --host=127.0.0.1 --port=27017 --db mean-docker --collection authusers --type json --file /init.json --jsonArray 

init.json

 [ { "name": "foo", "pass": "bar" }, { "name": "foo2", "pass": "bar2" } ] 

有了这个设置,我得到了一个:

 Failed: error connecting to db server: no reachable servers 

要从另一个容器访问容器,他们应该在公共networking中。

Docker-compose为所有服务创build公共networking。

要将新容器连接到现有networking,可以使用dockernetworking连接

可能会更好的select种子你的数据库将使用docker exec命令是这样的:

 docker exec [OPTIONS] existing_container_with_mongodb mongoimport [your_args]