gpt4 book ai didi

bash - 如何编写杀死Docker容器的脚本?

转载 作者:行者123 更新时间:2023-12-02 19:23:51 24 4
gpt4 key购买 nike

我编写了一个脚本来构建和运行docker容器:

docker build --rm -t 'mine' . && docker run -p 3000:3000 -it 'mine'

如果我连续运行两次,则前一个已经在运行,因此无法启动。为了解决这个问题,我写了一行命令杀死所有docker容器:
docker kill $(docker ps -q) || true
docker build --rm -t 'mine' . && docker run -p 3000:3000 -it 'mine'

这可行,但是现在我的机器上有多个使用docker的项目,这杀死了所有项目,这不是我想要的。我只希望它杀死该项目中的docker容器。

如何修改此脚本,使其仅杀死第二行中启动的Docker容器?

最佳答案

您应该提供一个容器名称,以便您可以按名称将其杀死。您还必须使用 --rm ,以便下次轻松重新启动它:

1号航站楼:

docker run -it --rm --name killMe alpine:latest /bin/sh

2号航站楼:

docker container ls
> CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
> 0113b3fea7dd alpine:latest "/bin/sh" 19 seconds ago Up 18 seconds killMe

docker kill killMe
# the container in my first terminal is now stopped
docker run -it --rm --name killMe alpine:latest /bin/sh
# it started again

关于bash - 如何编写杀死Docker容器的脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57829006/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com