nexus 3使用预定义配置创建docker

问题描述 投票:0回答:2

我想用necus 3 docker创建预定义配置(少量repos和虚拟工件)来测试我的库。

我无法从docker文件中调用nexus API,因为它需要运行nexus。

我尝试了nexus 3容器,手动配置并从容器创建图像

docker commit ...

创建了新图像,但是当我从中启动新容器时,它不包含我之前所做的所有手动配置。

如何自定义nexus 3图像?

docker dockerfile nexus3
2个回答
1
投票

如果我理解得很好,那么您正在尝试在独立的docker镜像中创建便携式,独立的自定义nexus3安装,以进行测试/分发。

通过扩展官方nexus3 docker镜像来实现这一点是行不通的。看看their Dockerfile:它为/nexus_data定义了一个卷,目前有no way of removing this from a child image

这意味着当您启动没有任何特定选项的容器时,会为每个新容器创建一个卷。这就是您提交的图像以空白数据开头的原因。您可以做的最好的事情是在启动容器时命名数据量(-v nexus_data:/nexus_data选项为docker run),以便重用相同的卷。但数据仍将在您本地的docker安装中,而不是在图像中。

要做你想做的事,你需要在没有数据量的情况下重新创建自己的docker镜像。你可以从上面的官方Dockerfile中做到这一点,只需删除音量线。然后,您可以自定义容器并将其提交到包含数据的图像。


0
投票

您是否尝试过使用Nexus图像作为基础的新Dockerfile?

FROM sonatype/nexus3
// Add your artifacts here
ADD myfile.txt destination/myfile.txt

docker build -t mynexusimage:latest .在当前目录中包含该图像。

我在当地这样做,它与docker run -d -p 8081:8081 mynexusimage:latest合作

© www.soinside.com 2019 - 2024. All rights reserved.