最新的容器上的Docker exec命令,而不复制和粘贴ID

我发誓我已经使用了一个选项,在那里你可以启动一个容器,然后在下一个docker命令中,你可以用这个容器做一些事情,而不必明确地指向它的ID或别名 – 它是“你的列表中的第一个容器容器“或”最近创build的容器“。 但是我在Google上找不到任何东西。

我的想象是回想起这样的事情:

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

有没有这样的事情? 当你想要和别人分享指令时,这个function非常有用,不需要复制粘贴(或键入)任何特定的容器ID。

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

硬编码容器名称

这可能是最紧凑的解决scheme

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

获取您最近创build的docker工容器ID

这是我曾经回忆的那个。

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

使用一个shellvariables

我不完全理解$_将如何帮助在这种情况下,所以不能举一个例子。

其他提示更容易参考

您不必复制整个ID。 如果键入a作为容器标识,它将查找以该字符序列开始的容器。 如果有多个匹配,并且该命令可以接受多个容器ID,它仍然可以工作(例如, docker kill a会杀死所有以字母a开头的容器)