Docker 容器使用相同的 Nexus 卷?
Docker container to use same Nexus volume?
我运行以下:
mkdir /some/dir/nexus-data && chown -R 200 /some/dir/nexus-data
chown -R 200 /Users/user.name/dockerVolume/nexus
docker run -d -p 8081:8081 --name nexus -v /some/dir/nexus-data:/nexus-data sonatype/nexus3
现在假设我将工件上传到 Nexus,并停止了 nexus 容器。
如果我想在端口 8082 上打开另一个 Nexus 容器,我要执行什么 Docker 命令 运行 这样 它使用与端口 8081 上相同的卷(所以当我运行这个容器时,它已经包含了我之前上传的工件)
基本上,我希望两个 Nexus 容器使用相同的存储,这样如果我将工件上传到一个端口,另一个端口也会有它。
我运行这个命令,但似乎没有用:
docker run --name=nexus2 -p 8082:8081 --volumes-from nexus sonatype/nexus3
Bind mounts 与显式 Docker 卷相比,您正在使用的 "volume" 功能有限。
我相信 --volumes-from
标志仅适用于 Docker 管理的卷。
为了在带有此标志的容器之间共享卷,您可以 docker 使用 运行 命令为您创建一个卷。
示例:
$ docker run -d -p 8081:8081 --name nexus -v nexus-volume:/nexus-data sonatype/nexus3
上述命令将为您创建一个名为 nexus-volume
的 Docker 托管卷。您可以使用命令 $ docker volume inspect nexus-volume
.
查看创建的卷的详细信息
现在,当您想要 运行 具有相同体积的第二个容器时,您可以根据需要使用 --volumes-from
命令。
这样做:
$ docker run --name=nexus2 -p 8082:8081 --volumes-from nexus sonatype/nexus3
应该给你你想要的行为。
我运行以下:
mkdir /some/dir/nexus-data && chown -R 200 /some/dir/nexus-data
chown -R 200 /Users/user.name/dockerVolume/nexus
docker run -d -p 8081:8081 --name nexus -v /some/dir/nexus-data:/nexus-data sonatype/nexus3
现在假设我将工件上传到 Nexus,并停止了 nexus 容器。
如果我想在端口 8082 上打开另一个 Nexus 容器,我要执行什么 Docker 命令 运行 这样 它使用与端口 8081 上相同的卷(所以当我运行这个容器时,它已经包含了我之前上传的工件)
基本上,我希望两个 Nexus 容器使用相同的存储,这样如果我将工件上传到一个端口,另一个端口也会有它。
我运行这个命令,但似乎没有用:
docker run --name=nexus2 -p 8082:8081 --volumes-from nexus sonatype/nexus3
Bind mounts 与显式 Docker 卷相比,您正在使用的 "volume" 功能有限。
我相信 --volumes-from
标志仅适用于 Docker 管理的卷。
为了在带有此标志的容器之间共享卷,您可以 docker 使用 运行 命令为您创建一个卷。
示例:
$ docker run -d -p 8081:8081 --name nexus -v nexus-volume:/nexus-data sonatype/nexus3
上述命令将为您创建一个名为 nexus-volume
的 Docker 托管卷。您可以使用命令 $ docker volume inspect nexus-volume
.
现在,当您想要 运行 具有相同体积的第二个容器时,您可以根据需要使用 --volumes-from
命令。
这样做:
$ docker run --name=nexus2 -p 8082:8081 --volumes-from nexus sonatype/nexus3
应该给你你想要的行为。