我正在尝试创建某种脚本,它将使用mongodb创建一个docker并自动创建一个用户.
我通常可以使用docker-compose管理我的docker图像,但这一次,我不知道该怎么做.
基本上,这是我必须做的:
docker-compose down
)--auth parameter
)db.createUser()
--auth
参数重新启动相同的容器,以允许使用在javascript中创建的用户进行登录我找不到如何用docker-compose正确地做到这一点,因为当它开始时,我必须给它命令--auth.如果我这样做,我就无法执行我的javascript来添加我的用户.如果没有用户且未提供--auth参数,MongoDB允许用户创建而无需登录.
我想自动执行此操作,我不想手动执行某些命令.目标是在每次集成测试之前创建一个可以从干净的数据库启动的脚本.
这是我的项目:
集成测试/ src目录/测试/资源/脚本/泊坞窗,compose.yml
mongodb:
container_name: mongo
image: mongo
ports:
- "27017:27017"
volumes:
- .:/setup
command: --auth
Run Code Online (Sandbox Code Playgroud)
集成测试/ src目录/测试/资源/脚本/ docker-init.sh
docker-compose down
docker-compose up -d
sleep 1
docker exec mongo bash -c "mongo myDatabase /setup/mongodb-setup.js"
Run Code Online (Sandbox Code Playgroud)
集成测试/ src目录/测试/资源/脚本/ MongoDB的-setup.js
db.createUser(
{
user: "myUser",
pwd: "myPassword",
roles: [
{ role: "readWrite", db: "myDatabase" }
]
})
Run Code Online (Sandbox Code Playgroud)
找到一种方法再次启动一个带有新参数的容器(在这种情况下--auth
)会有所帮助,但我找不到如何做到这一点(docker start不接受参数).
知道我应该怎样做我想做的事吗?
如果没有,我仍然可以使用一些Java代码或其他东西从我的数据库中删除所有内容,但我希望使用脚本创建一个完整的mongodb docker设置.
当我运行heroku local
或当我在npm start
本地执行时,我的应用程序构建并运行良好.但是,当我部署到heroku时,应用程序崩溃,说它无法找到babel-node.
这是日志输出:
2016-04-21T22:20:44.320025+00:00 heroku[api]: Deploy 5d9a9da by eagsalazar@gmail.com
2016-04-21T22:20:44.320084+00:00 heroku[api]: Release v9 created by eagsalazar@gmail.com
2016-04-21T22:20:44.542062+00:00 heroku[slug-compiler]: Slug compilation started
2016-04-21T22:20:44.542069+00:00 heroku[slug-compiler]: Slug compilation finished
2016-04-21T22:20:44.501025+00:00 heroku[web.1]: State changed from crashed to starting
2016-04-21T22:20:46.278065+00:00 heroku[web.1]: Starting process with command `npm start`
2016-04-21T22:20:50.467407+00:00 app[web.1]:
2016-04-21T22:20:50.467434+00:00 app[web.1]: > qc-server@1.0.0 start /app
2016-04-21T22:20:50.467435+00:00 app[web.1]: > babel-node index.js
2016-04-21T22:20:50.467436+00:00 app[web.1]:
2016-04-21T22:20:50.479490+00:00 app[web.1]: sh: 1: babel-node: not found
2016-04-21T22:20:50.521936+00:00 app[web.1]:
2016-04-21T22:20:50.538822+00:00 app[web.1]: npm ERR! Linux 3.13.0-79-generic
2016-04-21T22:20:50.539334+00:00 app[web.1]: npm …
Run Code Online (Sandbox Code Playgroud) 可以使用将pandas数据帧数据导出到elasticsearch elasticsearch-py
.例如,这是一些代码:
有很多像类似的方法to_excel
,to_csv
,to_sql
.
有to_elastic
方法吗?如果不是,我应该在哪里申请?