Docker jetty应用程序看不到卷中的文件

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

我有两个dockerized应用程序和附加的卷容​​器:

我的应用程序尝试从/home/git/data/repositories复制git存储库。该目录归gitlab容器中的用户git拥有。但添加后

RUN groupadd --gid 1000 git && usermod -a -G git jetty

对于Dockerfile,用户jetty在其中看到文件。我已经测试过它执行su - jettyls -la /home/git/data/repositories

JGit报告/home/git/data/repositories/<user>/<repo.git>不存在。我修改了应用程序以记录实际存在的父目录,它是/home/git/data/repositories。我的Java应用程序看不到任何子目录。

但是当我使用以下方式连接到应用的容器时:

docker exec -it my-app bash

将用户更改为码头:

su - jetty

然后列出目录:

ls -la /home/git/data/repositories/<user>/<repo.git>

显示该存储库存在!

确认服务器在该特定用户上运行:

$ ps auxwf
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root        72  0.0  0.0  21920  3556 ?        Ss   13:54   0:00 bash
root        77  0.0  0.0  46432  2920 ?        S    13:54   0:00  \_ su - jetty
jetty       78  0.0  0.0   4328   700 ?        S    13:54   0:00      \_ -su
jetty       81  0.0  0.0  17488  2072 ?        R+   13:54   0:00          \_ ps auxwf
jetty        1  0.5  5.7 5627056 464960 ?      Ssl  12:56   0:18 /usr/bin/java -Djetty.logging.dir=/usr/local/jetty/logs -Djetty.home=/usr/local/jetty -Djetty.base=/var/lib/jetty -Djava.io.tmpdir=/tmp/jett[...]

我真的不知道这里出了什么问题。

您知道这可能是什么原因吗?

java permissions docker jetty volume
1个回答
0
投票
这个问题解决了吗?即使我也面临着同样的问题
© www.soinside.com 2019 - 2024. All rights reserved.