最新容器上的Docker exec命令,无需复制和粘贴ID
我发誓我不久前使用过一个选项,您可以启动一个容器,然后在下一个docker命令中,您可以使用该容器而无需显式引用其ID或别名—它可能是“容器列表中的第一个容器”或“最近创建的容器”。但是我在谷歌上找不到任何东西 我的想象是这样的:最新容器上的Docker exec命令,无需复制和粘贴ID,docker,Docker,我发誓我不久前使用过一个选项,您可以启动一个容器,然后在下一个docker命令中,您可以使用该容器而无需显式引用其ID或别名—它可能是“容器列表中的第一个容器”或“最近创建的容器”。但是我在谷歌上找不到任何东西 我的想象是这样的: docker run --detach -it ubuntu:latest docker exec -it {0} bash 有这样的事吗?如果您想与某人共享有关旋转某些东西的说明,而不必复制和粘贴(或键入)他们的特定容器ID,这将非常有用。收集了几种解决方案,以下
docker run --detach -it ubuntu:latest
docker exec -it {0} bash
有这样的事吗?如果您想与某人共享有关旋转某些东西的说明,而不必复制和粘贴(或键入)他们的特定容器ID,这将非常有用。收集了几种解决方案,以下是一些方法(请随时更新您的答案): 硬编码容器名称 这可能是最紧凑的解决方案
docker run --detach --name my_container -it ubuntu:latest
docker exec -it my_container bash
获取最近创建的docker容器ID
这是我一直在回忆的
docker run --detach -it ubuntu:latest
docker exec -it $(docker ps --latest --quiet) bash
# you can also filter by ancestor (image) if other containers have been launched
# in the meanwhile:
docker exec -it $(docker ps --latest --quiet --filter ancestor=ubuntu:latest) bash
使用shell变量
我不完全理解在这种情况下,$\uu
会有什么帮助,所以不能给出一个例子
方便参考的其他提示
您不必复制整个ID。如果键入
a
作为容器ID,它将找到以该字符序列开头的容器。如果存在多个匹配项,并且该命令可以接受多个容器ID,则该命令仍将有效(例如,docker kill a
将杀死ID以字母a
开头的所有容器)如果您想引用它,则可能应该给它一个名称,特别是如果你想教别人这个-说出docker运行的最后一个参数,那么下一行的$\uu
都是很好的答案(尽管你能解释一下$\u
是什么吗?我在搜索时很难理解解释。我想我回忆的是$(docker ps—最新—安静)
。