与dockerbuild立docker形象 – 我应该什么时候build造?
我正在'dockerizing'一个我想用jetty运行的java web应用程序( https://github.com/kermitt2/grobid )。
这里的Dockerfile:
FROM jetty:9.3-jre8 ADD ./grobid-home/target/grobid-home-0.4.1-SNAPSHOT.zip /opt RUN unzip /opt/grobid-home-0.4.1-SNAPSHOT.zip -d /opt && \ rm /opt/grobid-home-0.4.1-SNAPSHOT.zip && \ apt-get update && apt-get -y --no-install-recommends install libxml2 COPY ./grobid-service/target/grobid-service-0.4.1-SNAPSHOT.war \ /var/lib/jetty/webapps/ROOT.war
当前的docker镜像完美地工作,但是它需要在之前构build应用程序(它不能从新鲜的git克隆中构build)。 例如,我不能用Docker HUB构build系统来运行构build。
什么是可取的方法? 在构build映像的同时构buildMaven项目,或者在构build完成后运行Docker?
我假设你正在创build的docker图像是用于生产的。
如果您创build了一个可以获取源代码并构build战争的图片,则需要embedded:
- JDK
- Maven的
- 你的来源
这些都是完全没有用的,并且在图像中占据了很大的空间。
所以是的,国际海事组织,你只是把战争添加到你的docker形象,你不从内部build立。
我认为你不应该在你的maven进程中build立你的docker镜像,这是两个独立的进程,你可以使用一些更高级别的脚本(或者jenkinspipe道)
- 无法在Docker中使用“umount”卸载设备
- Jenkins的Dockerizing构build – 作为容器的奴隶或作为容器构build?
- jenkinsdocker安装程序
- 为什么Play项目中的sbt-docker的enablePlugins(DockerPlugin)给出了“错误:对DockerPlugin的引用是不明确的”?
- docker工人build立官方jenkins容器内
- Docker自动生成导致意外的失败
- Docker依赖问题:Rake中止! LoadError:无法加载这样的文件 – sqlite3 / sqlite3_native
- 在远程Linux Azure托pipeDocker实例上删除未使用的Docker镜像会导致“未知的速记标志:'in -aq'错误
- 如何加快谷歌云平台上的bazel构build