Dockerdocker应用程序不会从卷中看到文件

我有两个dockerized应用程序和额外的容器:

  • dbdata卷容器有一个卷: /home/git/data
  • dockerized Gitlab – 使用--volumes-from dbdata以从卷容器装载卷,
  • 我自己的应用程序https://github.com/tunguski/gitlab-java-event-listener – 使用--volumes-from dbdata以从卷容器( Dockerfile )装入卷。

我的应用程序试图从/home/git/data/repositories克隆git /home/git/data/repositories 。 这个目录由gitlab容器的用户git拥有。 但添加后

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

到Dockerfile,用户码看到它的文件。 我testing了它执行su - jettyls -la /home/git/data/repositories

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

但是,当我连接到我的应用程序的容器使用:

 docker exec -it my-app bash 

将用户更改为docker:

 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[...] 

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

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

Interesting Posts