Docker exec命令在最近的容器上没有复制和粘贴ID

时间:2017-10-05 23:12:55

标签: docker

我发誓我前段时间使用了一个可以启动容器的选项,然后在下一个docker命令中,您可以使用该容器执行某些操作而无需明确引用其ID或别名 - 它是&# 34;容器列表中的第一个容器"或者"最近创建的容器"。但我无法在谷歌上找到任何东西。

我的想象力正在回忆起这样的事情:

docker run --detach -it ubuntu:latest
docker exec -it {0} bash

有没有这样的事情?当您想要与某人共享指令以便在不需要复制和粘贴(或键入)任何特定容器ID时,这非常有用。

1 个答案:

答案 0 :(得分:5)

收集几个解决方案,这里有一些方法(随意用你的答案更新答案):

对容器名称进行硬编码

这可能是最紧凑的解决方案

docker run --detach --name my_container -it ubuntu:latest
docker exec -it my_container bash

获取最近创建的泊坞容器ID

这是我一直记得的那个。

docker run --detach -it ubuntu:latest
docker exec -it $(docker ps --latest --quiet) bash

使用shell变量

我不完全理解$_在这种情况下如何提供帮助,因此无法举例说明。

更容易引用的其他提示

您不必复制整个ID。如果键入a作为容器ID,它将找到以该字符序列开头的容器。如果有多个匹配并且该命令可以接受多个容器ID,则它仍然有效(例如docker kill a将终止所有ID为以a开头的容器