我想创建带有预定义配置的nexus3 docker (几个repos和虚拟工件)来测试我的库。
我不能从docker文件中调用nexus,因为它需要运行nexus.
我尝试设置nexus3容器,手动配置它,并从容器创建镜像
docker commit ...创建了新的镜像,但当我从它启动新容器时,它不包含我之前所做的所有手动配置。
如何自定义nexus3镜像?
发布于 2019-04-15 23:31:39
如果我理解得很好,您正试图在一个自包含的docker镜像中创建一个可移植的、独立的自定义nexus3安装,用于测试/分发目的。
通过扩展官方的nexus3 docker镜像来做到这一点是行不通的。看看their Dockerfile:它为/nexus_data定义了一个卷,目前有一个no way of removing this from a child image。
这意味着当您在没有任何特定选项的情况下启动一个容器时,会为每个新容器创建一个卷。这就是为什么提交的映像以空白数据开头的原因。您可以做的最好的事情是在启动容器时命名数据卷(对于docker run,选项为-v nexus_data:/nexus_data ),以便重用相同的卷。但数据仍将位于您的本地docker安装中,而不是在映像中。
要执行您所希望的操作,您需要重新创建您自己的docker映像,而不需要数据卷。你可以从上面的官方Dockerfile中删除卷行。然后,您可以自定义容器并将其提交到将包含数据的映像。
https://stackoverflow.com/questions/55678463
复制相似问题