контейнер докера исчез после «контейнер остановки докера»

#docker

Вопрос:

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

Прежде чем я успел что-то предпринять, я побежал docker stop container_name . К моему удивлению, контейнер больше не указан в списке, когда я это делаю docker ps -a

О, какая мука! Я страдаю! Я не удалял его с помощью-rm, и это был не первый раз, когда я его остановил.

Папки все еще там:

Я все еще вижу, что внутри существует соответствующая папка со всеми конфигурационными файлами! /var/lib/docker/containers

Я не так уверен в файловой системе, в ней есть куча папок /var/lib/docker/overlay2 . Я не могу быть уверен, какой из них принадлежит моему призрачному контейнеру, так как я не могу бежать docker inspect hostname

Есть ли какой-нибудь шанс вернуть этот контейнер ?

Заранее благодарю вас, любая помощь очень приветствуется!

Комментарии:

1. Вы действительно должны использовать a Dockerfile для настройки своих изображений, а не использовать docker commit . Это делает настройку изображения намного более управляемой.

2. @larsks я знаю . Предполагалось, что это будет базовое изображение, которым можно поделиться со сверстниками и работать поверх него с файлами dockerfiles.

3. @Souza вы создавали непроизводимый, созданный вручную, базовый образ, от которого зависела бы остальная часть организации? Я бы настоятельно не рекомендовал этого делать.

4. Что такое команда запуска docker, которую вы использовали. У вас был установлен —rm флаг ?

5. @abhishekphukan это команда, я не использовал флаг-rm: docker run -dit --name server latest:ubuntu

Ответ №1:

Просто используйте docker start {CONTAINER_NAME} , и он вернется

Комментарии:

1. Что ж, я ценю ваш вклад, но если бы это было так просто, я бы не спрашивал. Контейнер не отображается в «докере ps-a», поэтому команда запуска докера не будет работать, так как она не может найти соответствующий контейнер.