Проблема запуска Docker с параметром команды с использованием сценариев NPM - PullRequest
0 голосов
/ 28 марта 2019

У меня есть репозиторий с некоторыми вспомогательными сценариями NPM для запуска некоторых основных команд докера:

  "scripts": {
    "build": "docker build -t myreadyapi --build-arg LICENSE_SERVER=1.1.1.1 .",
    "prestart": "npm run build",
    "start": "docker run -p 8089:8088 myreadyapi",
    "debug": "docker exec -it $(docker ps -a -q --filter ancestor=myreadyapi) /bin/bash",
    "stop": "docker rm $(docker stop $(docker ps -a -q --filter ancestor=myreadyapi))"
  }

npm run build и npm run start работают, но npm run debug и npm run stop вызывают ошибку:

Ошибка: такого контейнера нет: $ (docker

Примечание. Запуск из консоли Windows 10 PowerShell.

Ошибка возникает для любого сценария докера, который имеет параметр команды (т.е. docker ... $(docker ...)).

Кто-нибудь сталкивался с этим раньше и знает, как это исправить?

Приветствие.

1 Ответ

0 голосов
/ 28 марта 2019

Может случиться, что у вас есть остановленные контейнеры, которые соответствуют $(docker ps -a -q --filter ancestor=myreadyapi).Или контейнер не найден с соответствием filter.Одним из решений может быть случайное имя контейнера и использование этого имени в дальнейших командах или установка ancestor сгенерированного системой значения.

...