2014-12-02 4 views
1

Я создал несколько изображений докеров, я сделал wget и apt-get install на одном.Является ли докер эфемерным экземпляром?

Каждый раз, когда я выхожу из экземпляра докера, снова возвращаясь к изображению, например. ubuntu: myimage, похоже, порождает новую свежую версию, поэтому означает, что все мои apt-get install и wget «потеряны».

Я понял, что это не настойчиво, поэтому я сделал фиксацию докеров ... это правильный способ иметь «настойчивость» в докере?

Мой вопрос: возможно ли иметь постоянство без постоянной фиксации?

Благодаря

ответ

1

Не используйте docker run image, потому что это создаст новый контейнер с картинки.

Вы можете использовать docker start container, чтобы начать свой контейнер, или запустите docker attach, чтобы прикрепить запущенный контейнер.

0
docker ps -a 

docker commit ID yourname:tag 

docker run -itd --name con yourname:tag 
+0

Хотя эта ссылка может ответить на вопрос, лучше включить основные части ответа здесь и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. - [Из обзора] (/ review/low-quality-posts/18310853) –

2

Команда docker run запускает новый контейнер из предоставленного изображения. Используйте docker start для перезапуска ранее остановленного контейнера.

Если вы хотите сохранить изменения к изображению, вы можете использовать команду docker commit, но это почти наверняка не то, что вы хотите. Вместо этого используйте файл Docker для создания изображений и обновления, когда вы хотите внести изменения. Таким образом вы можете легко воссоздать изображение и внести изменения, не начиная с нуля. Для сохранения (например, файлы конфигурации и базы данных) используйте тома, которые представляют собой только каталоги, хранящиеся за пределами файловой системы Союза, как обычные каталоги на хосте.

0

Если вы хотите построить многоразовый образ, вы, скорее всего, хотите написать Dockerfile: шаг за шагом описание изменений, которые вы хотите внести в базовый образ.

Если вместо этого вы просто хотите отключения и возобновить контейнер , как если бы это была Vagrant виртуальная машина, используйте

docker run --name $container_name $image_name

, а затем

docker [start|stop] $container_name

Обратите внимание, что Система Docker ожидает, что вы явно объявите volume, если вам нужна файловая система persisten.

Смежные вопросы