Size: a a a

2020 May 20

DK

Dzmitry Kharevich in pro.jvm
и там одна из команд для докера, копируем исходники
источник

М

Михаил in pro.jvm
Dzmitry Kharevich
и там одна из команд для докера, копируем исходники
Ну исходники одно, а зависимости другое. А я написал исходники? Извинити если так, перепутал.
источник

V

Vlad in pro.jvm
Михаил
Основной посыл - слой с зависимостями нужно правильно приготовить, а не копировать с хоста.
Да вот spring boot сделал интеграцию с BuildPacks - cloud native решение, которое использует отдельный кэш для слоев, даже если основа образа поменяется. Это круче чем jib умел
источник

М

Михаил in pro.jvm
Михаил
Ну исходники одно, а зависимости другое. А я написал исходники? Извинити если так, перепутал.
А копируете одной командой? А то можно копировать пакетами, тогда не все слои будут пересобираться (зависит, конечно, какой пакет трогали).
источник

D

Dima in pro.jvm
Михаил
Ну исходники одно, а зависимости другое. А я написал исходники? Извинити если так, перепутал.
по ссылкам исходники
источник

D

Dima in pro.jvm
коллега вот такую ссылку подкинул
источник

D

Dima in pro.jvm
источник

D

Dima in pro.jvm
все так делают?
источник

DK

Dzmitry Kharevich in pro.jvm
похоже на это
источник

AE

Alexandr Emelyanov in pro.jvm
Остаётся вопрос, а как выбрать то имадж, на котором собирать? Например надо не на openjdk, а на zulu или liberica
источник

AE

Alexandr Emelyanov in pro.jvm
Какой версии будет jdk?
источник

V

Vladimir in pro.jvm
Dima
и еще вопрос - зачем мультистейдж для джавы?
держать либы отдельно от приложения?
источник

V

Vladimir in pro.jvm
Dima
все так делают?
нет
источник

D

Dima in pro.jvm
Vladimir
держать либы отдельно от приложения?
а это без мультистейджа сделать нельзя?
источник

V

Vladimir in pro.jvm
Dima
а это без мультистейджа сделать нельзя?
ой, сорри, я видимо сплю уже и про слои подумал
источник

D

Dima in pro.jvm
Vladimir
ой, сорри, я видимо сплю уже и про слои подумал
не про слои, а про фичу докера 17.05
источник

D

Dima in pro.jvm
где множественные FROM
источник

D

Dima in pro.jvm
по идее тоже самое делают отдельные джобы в CI + их результат вы прокидываете в нужные вам последующие джобы
источник

V

Vladimir in pro.jvm
Dima
где множественные FROM
substrate vm разве что
источник

D

Dima in pro.jvm
Михаил
Короче вот, так правильно готовить докер, но не правильно томкат:
```
FROM maven:3.6.3-jdk-8 AS builder
WORKDIR /usr/src/app
COPY pom.xml .
COPY web/src/main/webapp/WEB-INF/web.xml web/src/main/webapp/WEB-INF/web.xml
RUN  mvn package && mvn clean
COPY ./ .
RUN  mvn package -DskipTests

FROM tomcat:9-jre8-alpine
WORKDIR ${CATALINA_HOME}

RUN  rm -rf webapps/*
COPY config/tomcat/server.xml config/tomcat/context.xml conf/
COPY --from=builder /usr/src/app/web/target/${APP_NAME}.war webapps/ROOT.war

RUN  addgroup www-data && \
    adduser -D -H -u 1000 -s /bin/bash www-data -G www-data && \
    chown -R www-data:www-data webapps temp

USER www-data
CMD  ["catalina.sh", "run"]
```
Как томкат, если что, - смотрим тут: https://devcenter.heroku.com/articles/create-a-java-web-application-using-embedded-tomcat
да вот пример
источник