2016-08-05 2 views
0

Я создаю изображение Докера с нижеследующим файлом. Это простое приложение Spring Boot. Когда я делаю обновление для проекта Spring, я перестраиваю изображение, чтобы получить обновленное изображение. Тем не менее, это создает совершенно новый образ, который полностью перенаправляется на репо в полном объеме (700 + МБ). Как обновить существующее изображение, чтобы включить недавно обновленную банку вместо совершенно нового изображения, так что мне не нужно толкать 700 + МБ только для обновления приложения Spring?Обновление jar в docker image

Это dockerfile настоящее время я использую:

FROM java:8 
EXPOSE 8080 
VOLUME /tmp 
ADD app-name.1.0.jar app.jar 
RUN bash -c 'touch /app.jar' 
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","app.jar"] 

Примечание: Когда я запустить докер прикрепить команду, он просто сидит и ничего не делает.

ответ

1

Похоже, вы пропустили пункт докерных контейнеров/изображений. Новая версия приложения ==> новое изображение Docker - это истинный путь и звуки, которые вы хотите.

И если изменен только последний слой (в том случае, если вы предоставили файл Dockerfile) docker push загрузит только новый слой изображения. Так что в этом случае что-то размером с app.jar ...

+0

Отлично, вот и все. Я столкнулся с номером версии вместо повторной сборки с тем же номером версии. В результате он только подтолкнул конкретный слой, а не все из них снова. Благодаря! –