我使用以下命令来运行我的容器
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
答案 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