2017-01-06 3 views
1

Вопрос 1: Нужно ли обновлять как контейнер, так и изображение, или просто изображение?Как я могу обновить определенное изображение докеров при внесении изменений

Вопрос 2: Когда я вносить изменения в данные, в которых мое приложение использует, как я могу обновить докер изображение или контейнер (при необходимости), так что приложение будет показывать и обновлять данные обновленного образа /контейнер. У меня есть текущий ход докер изображения с именем: test/app1

  • Список пункт

Вот мои текущие шаги:

_1. Перестроить приложение с помощью: docker build -t test/app1

_2.Restart Docker с помощью: service docker restart

** После того, как сделаны эти шаги, там нет ошибок, но изображение не имеет обновленные данные. Это проблема с обновлением изображения или контейнером.

Спасибо.

ответ

2

Прежде всего, вам не нужно перезагружать службу docker!

Чтобы ответить на ваш первый вопрос:

Вопрос 1: Должен ли я обновить как контейнер и изображение, или только изображение?

Просто обновите изображение, остановите старый контейнер, docker run новый контейнер с нового изображения.

Вопрос 2: Когда я вносить изменения в данные, в которых мое приложение использует, как я могу обновить Docker изображение или контейнер (при необходимости), так что приложение покажет и обновлять данные из обновляются изображение/контейнер. У меня есть текущий Docker изображение под управлением именем: тест/app1

В зависимости от ваших данных приложения, если его установлен через затруднительное крепление, или объем, ваш просто нужно обновить их, если ваше приложение требует перезагрузок некоторого обслуживания сделайте эти данные доступными, вы можете остановить/запустить контейнер или удалить/воссоздать его.

Если ваши данные находятся в изображении/контейнере, вы обновляете изображение, останавливаете старый контейнер и воссоздаете его с помощью нового изображения.

+0

Итак, как только я обновляю изображение, я бы просто создал изображение как 'docker build -t test/app1', остановил контейнер (как мне это сделать), затем запустите команду' docker run test/app1'? – Techno04335

+0

, когда вы создаете образ, вы создаете новое изображение, добавляете теги к новому изображению, например номер версии. 'docker build -t test/app1: 1.1'. чтобы остановить контейнер, используйте «docker stop <имя_пользователя или идентификатор>», чтобы остановить контейнер, и 'docker rm <имя контейнера или id>', чтобы удалить его. затем запустите новый контейнер из нового изображения. 'docker run test/app1: 1.1' –

+0

Я беспокоюсь об этом методе, поскольку я использую сервер ShinyProxy, который ссылается на имя изображения: 'test/app1' в своих настройках конфигурации. Поэтому я использую 'docker run test/app1'. Это нормально? – Techno04335