将json中的数据导入到mongo容器docker

时间:2019-10-02 13:05:50

标签: docker docker-compose

我有一个问题。我开始学习docker。我知道如何创建一个容器,现在我尝试将data(json)导入到我的容器mongo中,但是我不知道该怎么做。您可以帮我一个简单的解决方案吗?使用Docker-compose。

我的容器-mongo 我的文件-data.json

谢谢!

1 个答案:

答案 0 :(得分:1)

您不能仅使用docker-compose导入JSON。您需要将数据放在js文件中,并使用js

挂载{{​​1}}文件
  

首次启动容器时,它将执行文件   带有扩展名/docker-entrypoint-initdb.d.sh   .js。文件将按字母顺序执行   订购。 /docker-entrypoint-initdb.d个文件将由mongo使用数据库执行   由.js变量指定(如果存在),或者   否则测试。您也可以在MONGO_INITDB_DATABASE脚本中切换数据库。

mongo Initializing a fresh instance

示例js文件:

.js

docker-compose

db = db.getSiblingDB("test");
db.article.drop();

db.article.save( {
    title : "this is my title" , 
    author : "bob" , 
    posted : new Date(1079895594000) , 
    pageViews : 5 , 
    tags : [ "fun" , "good" , "fun" ] ,
    comments : [ 
        { author :"joe" , text : "this is cool" } , 
        { author :"sam" , text : "this is bad" } 
    ],
    other : { foo : 5 }
});

db.article.save( {
    title : "this is your title" , 
    author : "dave" , 
    posted : new Date(4121381470000) , 
    pageViews : 7 , 
    tags : [ "fun" , "nasty" ] ,
    comments : [ 
        { author :"barbara" , text : "this is interesting" } , 
        { author :"jenny" , text : "i like to play pinball", votes: 10 } 
    ],
    other : { bar : 14 }
});

db.article.save( {
    title : "this is some other title" , 
    author : "jane" , 
    posted : new Date(978239834000) , 
    pageViews : 6 , 
    tags : [ "nasty" , "filthy" ] ,
    comments : [ 
        { author :"will" , text : "i don't like the color" } , 
        { author :"jenny" , text : "can i get that in green?" } 
    ],
    other : { bar : 14 }
});