Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据指定的端口停止并移除docker容器_Docker_Docker Container - Fatal编程技术网

根据指定的端口停止并移除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容器-

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中都没有特定于操作系统的内容。