我有一个带有一些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 build
和npm run start
工作,但npm run debug
和npm run stop
导致错误:
错误:没有这样的容器:$(docker
注意:从Windows 10 PowerShell控制台运行此命令。
任何具有命令参数的docker脚本(即docker ... $(docker ...)
)都会发生错误。
有没有人遇到这个,知道如何解决这个问题?
干杯。
可能会发生一些与$(docker ps -a -q --filter ancestor=myreadyapi)
相匹配的已停止的容器。
或者找不到匹配filter
的容器。
一种解决方案可以是crate随机容器名称,并在其他命令中使用该名称或设置ancestor
系统生成的值。