#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», поэтому команда запуска докера не будет работать, так как она не может найти соответствующий контейнер.