根据指定的端口停止并移除docker容器
下面的代码将停止并删除Docker容器-根据指定的端口停止并移除docker容器,docker,docker-container,Docker,Docker Container,下面的代码将停止并删除Docker容器- docker rm -f CONTAINER_ID 但是,它需要容器ID,我从运行另一个代码docker ps获取容器ID,以从列端口获取使用典型端口(例如0.0.0.0:8383->8383/tcp)的ID 我正在寻找一种方法,将这两个代码捆绑到一个单独的代码中,并将端口作为变量,这样我就不需要手动输入从端口获得的容器ID 有可能吗?试试这个: PORT=8383 docker容器ls--format=“{{.ID}}\t{{.Ports}”|\ g
docker rm -f CONTAINER_ID
但是,它需要容器ID,我从运行另一个代码docker ps
获取容器ID,以从列端口获取使用典型端口(例如0.0.0.0:8383->8383/tcp)的ID
我正在寻找一种方法,将这两个代码捆绑到一个单独的代码中,并将端口作为变量,这样我就不需要手动输入从端口获得的容器ID
有可能吗?试试这个:
PORT=8383
docker容器ls--format=“{{.ID}}\t{{.Ports}”|\
grep${PORT}|\
awk“{print$1}”
第一个命令列出正在运行的容器,但仅输出容器ID和端口。结果通过管道传输到grep
以获取感兴趣的容器。awk
命令获取容器ID
试验
- 在
:7777
,:8888
,:9999
上创建3个Nginx容器
- 然后,找到容器的端口,停止并移除它们
77778889999中的端口的
做
docker运行--分离--发布=${PORT}:80 nginx
完成
码头集装箱
对于77778889999中的端口
做
echo“正在端口上查找容器:${port}”
身份证=$(\
docker容器ls--format=“{{.ID}}\t{{.Ports}”|\
grep${PORT}|\
awk'{print$1}')
echo“找到容器ID:${ID}”
回显“停止并移除它”
docker容器站${ID}&&docker容器rm${ID}
完成
试试这个:
PORT=8383
docker容器ls--format=“{{.ID}}\t{{.Ports}”|\
grep${PORT}|\
awk“{print$1}”
第一个命令列出正在运行的容器,但仅输出容器ID和端口。结果通过管道传输到grep
以获取感兴趣的容器。awk
命令获取容器ID
试验
- 在
:7777
,:8888
,:9999
上创建3个Nginx容器
- 然后,找到容器的端口,停止并移除它们
77778889999中的端口的
做
docker运行--分离--发布=${PORT}:80 nginx
完成
码头集装箱
对于77778889999中的端口
做
echo“正在端口上查找容器:${port}”
身份证=$(\
docker容器ls--format=“{{.ID}}\t{{.Ports}”|\
grep${PORT}|\
awk'{print$1}')
echo“找到容器ID:${ID}”
回显“停止并移除它”
docker容器站${ID}&&docker容器rm${ID}
完成
您想要编写一个脚本。阅读一些shell编程教程。没有现成的命令可以执行此操作。您需要编写脚本。阅读一些shell编程教程。没有现成的命令可以做到这一点。但有一个问题——这是哪种语言?这是LInux上的Bash。你使用的是什么操作系统?mac OS和ubuntu 18我回答中的Bash命令将在ubuntu上运行,并且应该在MacOS上运行(IIUC MacOS[目前]也支持Bash)。在我引用的任何Bash中都没有特定于操作系统的东西。不过有一个问题——这是哪种语言?这是LInux上的Bash。你使用的是什么操作系统?mac OS和ubuntu 18我回答中的Bash命令将在ubuntu上运行,并且应该在MacOS上运行(IIUC MacOS[目前]也支持Bash)。在我引用的任何Bash中都没有特定于操作系统的内容。