我正在尝试删除停止ubuntu服务器上的所有docker容器,但我不断得到"docker stop" requires at least 1 argument.
,这是我的Github Action文件的相关部分:
- name: Deploy
env:
DOCKER_USER: ${{ secrets.DOCKER_USER }}
DOCKER_PW: ${{ secrets.DOCKER_PW }}
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.DEVELOP_HOST }}
username: ${{ secrets.DEVELOP_USERNAME }}
password: ""
key: ${{ secrets.DEVELOP_PRIVATE_KEY }}
port: 22
script: |
ls
sudo chmod 666 /var/run/docker.sock
sudo docker pull username/reponame
sudo docker stop $(docker ps -a -q)
sudo docker rm $(sudo docker ps -q)
sudo docker run -d -e NODE_ENV=develop -p 3000:3000 username/reponame
输出:"docker stop" requires at least 1 argument.
有人知道这里会发生什么吗?
谢谢!
答案 0 :(得分:0)
这意味着$(docker ps -a -q)
的评估结果为零。
sudo docker stop $(docker ps -a -q)
输出:“ docker stop”至少需要1个参数。
这就像您是否执行:
sudo docker stop
它不起作用。一个或多个容器应作为args。
要么忽略该错误:
sudo docker stop $(docker ps -a -q) || true
或在以下条件下停止:
containerIds=$(docker ps -a -q)
if [[ -n $containerIds ]] ; then
sudo docker stop $containerIds
fi