- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试从通过 gitlab-ci-multirunner 运行的 docker 镜像中访问 mongorestore/mongodump 命令。
我的 .gitlab-ci.yml 看起来像这样:
image: node:7.2.0
cache:
key: "$CI_BUILD_REF_NAME"
paths:
- node_modules/
services:
- mongo
variables:
DOCKER_ENV: 'true'
NODE_ENV: 'test'
all_tests:
script:
- npm install
- npm install tsd -g
- tsd install --save
- node_modules/typescript/bin/tsc -p .
- node node_modules/mocha/bin/_mocha --recursive tests --timeout 15000
在我的测试中,我使用 mongodump/mongorestore。我得到的错误是:
Create Transaction Tests
Connected to MongoDB: mongodb://mongo:27017/test-db { Error: Command failed: mongorestore --port 27017 --drop /builds/project/repo/project/tests/testData/db/mongo/dump
/bin/sh: 1: mongorestore: not found
我什至尝试在脚本部分使用“docker run”运行 mongorestore 命令:
- docker run --rm --link mongodb:mongo -v /root:/backup mongo bash -c ‘mongorestore /backup --host $MONGO_PORT_27017_TCP_ADDR’
我收到这个错误:
/bin/bash: line 61: docker: command not found
我必须提到我正在 gitlab 提供的共享 docker runner 上运行这个图像。
关于如何从我的测试中访问“mongorestore”命令有什么建议吗?
最佳答案
这不是最优雅的解决方案,但您始终可以在安装了 mongo 的 node:7.2.0 之上创建自己的镜像,从而允许容器执行 mongodump/restore。此类图像的 Dockerfile 应如下所示 -
来自节点:7.2.0
运行 apt-get 更新-y &&\
apt-get install -y mongodb
然后您可以拉取此镜像而不是普通节点镜像,并使用 mongo cli。
关于mongodb - 如何在docker镜像中访问mongorestore/mongodump,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41014010/
我是一名优秀的程序员,十分优秀!