在Nexus Docker中安装主机目录时出错

时间:2018-01-30 04:06:19

标签: docker nexus3

我使用以下命令来运行我的容器

sudo chown -R 200 ~/dockerVolume/nexus

容器启动并立即失败。使用以下日志

  

mkdir:无法创建目录' ../ sonatype-work / nexus3 / log':   许可被拒绝

     

mkdir:无法创建目录   ' ../ sonatype-work / nexus3 / tmp':权限被拒绝

     

Java HotSpot(TM)   64位服务器VM警告:无法打开文件   ../sonatype-work/nexus3/log/jvm.log由于没有这样的文件或目录

我正在关注此link进行设置 我已经给nexus目录许可了。

我也试过以下SO link,但这对我也没有帮助。 我仍然得到同样的错误。

Docker版本17.12.0-ce-mac47(21805)

[编辑] 我确实更改了我主机上的nexus文件夹的所有权

threading.Timer

3 个答案:

答案 0 :(得分:4)

在我的ubuntu服务器中,我必须执行:

chown -R 200:200 path/to/directory

不仅200,而且 200:200

答案 1 :(得分:1)

在回购Dockerfile中可以使用 sonatype/docker-nexus3

安装音量为documented as

  

将主机目录挂载为卷。

     

这不可移植,因为它依赖于主机上存在正确权限的目录。但是,在需要将此卷分配给某个特定底层存储的某些情况下,它可能很有用。

$ mkdir /some/dir/nexus-data && chown -R 200 /some/dir/nexus-data
$ docker run -d -p 8081:8081 --name nexus -v /some/dir/nexus-data:/nexus-data sonatype/nexus3

所以不要忘记之前 docker run

chown -R 200 /Users/user.name/dockerVolume/nexus

答案 2 :(得分:0)

如果您在尝试在Kubernetes集群中运行Nexus3时遇到此问题,则应使用 initContainers 设置UID。只需将其添加到您的 spec

initContainers:
- name: volume-mount-hack
  image: busybox
  command: ["sh", "-c", "chown -R 200:200 /nexus-data"]
  volumeMounts:
  - name: <your nexus pvc volume name>
    mountPath: /nexus-data