我正在尝试从通过 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。我得到的错误是:
创建事务测试
连接到 MongoDB:mongodb://mongo:27017/test-db { 错误:命令失败:mongorestore --port 27017 --drop /builds/project/repo/project/tests/testData/db/mongo/dump
/bin/sh: 1: mongorestore: 未找到
我什至尝试在脚本部分使用“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:第 61 行:docker:找不到命令
不得不提的是,我正在 gitlab 提供的共享 docker runner 上运行这个镜像。
关于如何从测试中访问“mongorestore”命令的任何建议?