запустить скрипт оболочки внутри docker не работает? - PullRequest
1 голос
/ 02 февраля 2020

У меня проблема с запуском скриптовой оболочки внутри docker не работает. У меня есть Shell Js хранилище коллекций, как показано ниже:

#!/bin/bash
DIRECTORY="home"
CONTAINER="mongodb"
DB_NAME="pos-rabbit"
BACKUP_PATH="backup"
BACKUP_NAME="Pos-Rabbit_$(date +%Y-%m-%d)"

# Backup
docker exec $CONTAINER mongodump --db $DB_NAME --out /$BACKUP_PATH/$BACKUP_NAME

И затем у меня есть метод get script to запустить, но это ошибка docker: не найдено \ n ' какое предложение с docker контейнером

export const execBySelector = new ValidatedMethod({
  name: 'app.shellJs.execBySelector',
  mixins: [CallPromiseMixin],
  validate: new SimpleSchema({
    selector: {
      type: Object,
      blackbox: true,
    },
  }).validator(),
  run({ selector }) {
    if (Meteor.isServer) {
      try {

        let result = 'Shell executed'
        let getShell = ShellJs.findOne(selector)

        console.log(getShell && getShell.command)
        console.log('----- Shell Command -----')

        if (getShell) {
          const child = shell.exec(getShell.command, { silent: true })
          console.log(child)
          if (child.code == 0) {
            result = child.stdout
          } else {
            throw child
          }
        } else {
          throw 'Shell do not exist'
        }

        return result
      } catch (err) {
        throwError('Shell Exec By Selector', err)
      }
    }
  },
})

Показать ошибку

{ [String: '']
  stdout: '',
  stderr: '/bin/sh: 11: docker: not found\n/bin/sh: 12: docker: not found\ntar: Pos-Rabbit_2020-02-19: Cannot stat: No such file or directory\ntar: Exiting with failure status due to previous errors\n/bin/sh: 20: gdrive: not found\n/bin/sh: 25: docker: not 
...