我如何获取非运行容器的容器ID?

我正在通过一个容器shell更新一个docker镜像

docker run -it <image_name> /bin/bash -l 

我退出了容器,现在想要提交更改

 docker commit -m 'changes' -a 'me' <container ID> <image name> 

但是我再也不能访问容器ID了? docker ps只列出正在运行的容器。 我怎样才能得到停止的容器的ID?

获取容器ID非常简单:

 docker ps --all 

--all docker ps-a--all标志列出所有的容器,而不仅仅是运行的容器。

如果您只想要最近退出的容器的ID,则可以使用

 docker ps --all -q | head -1 

这在docker commit命令中可以方便的使用,所以你可以轻松地提交最新的更改,只需按几次,然后更改提交消息:

 docker commit -m 'changes' -a 'me' "$(docker ps --all -q | head -1)" <image name> 

--latest docker ps -l (或--latest )将返回上次运行的容器(如果该容器不再运行)。

为了得到这个ID ,添加-q标志,所以docker ps -lq docker ps -l -q (或者docker ps -lq会给你最后一个运行容器的ID