使用NPM脚本发出带有命令参数的docker问题

问题描述 投票:0回答:1

我有一个带有一些NPM便捷脚本的repo来运行一些基本的docker命令:

  "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 buildnpm run start工作,但npm run debugnpm run stop导致错误:

错误:没有这样的容器:$(docker

注意:从Windows 10 PowerShell控制台运行此命令。

任何具有命令参数的docker脚本(即docker ... $(docker ...))都会发生错误。

有没有人遇到这个,知道如何解决这个问题?

干杯。

docker npm-scripts docker-command
1个回答
0
投票

可能会发生一些与$(docker ps -a -q --filter ancestor=myreadyapi)相匹配的已停止的容器。 或者找不到匹配filter的容器。 一种解决方案可以是crate随机容器名称,并在其他命令中使用该名称或设置ancestor系统生成的值。

© www.soinside.com 2019 - 2024. All rights reserved.