2016-01-12 2 views
1

я обновлял грузчик изображение из контейнера оболочки черезКак получить идентификатор контейнера для неиспользуемого контейнера?

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

Я вышла из контейнера и теперь хочу, чтобы зафиксировать изменения с

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

Но у меня нет доступа к ID контейнера больше? docker ps содержит только списки запущенных контейнеров. Как я могу получить идентификатор остановленного контейнера?

ответ

4

Получение идентификатора контейнера очень просто:

docker ps --all 

-a или --all флаг в docker ps перечислены все контейнеры, а не только работает один.

Если вы хотите только идентификатор наиболее недавно возбужденном контейнер, вы можете использовать

docker ps --all -q | head -1 

Это может быть удобно использовать в команде docker commit, так что вы можете легко совершить последние изменения, просто нажав вверх несколько раз, и изменения сообщения фиксации:

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

docker ps -l (или --latest) будет возвращать контейнер, который был последний запуск (также если контейнер уже не работает).

Чтобы получить только ID, добавьте -q флаг, так docker ps -l -q (или docker ps -lq даст вам ID контейнера последнего запуска