我如何获取非运行容器的容器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