为什么容器无法显示宿主机挂载目录的内容?

Why can't the container display the content of mounting directory of host?

我正在使用以下命令备份 gitlab 存储库数据:

docker run --volumes-from gitlab_data -v $(pwd):/backup genezys/gitlab:7.5.2 tar cvf /backup/gitlab_data.tar /var/opt/gitlab /var/log/gitlab /etc/gitlab 

然后我提取备份数据和运行一个新的容器来检查数据是否备份成功:

[root@localhost backup]docker run --name gitlab_data --volume /var/opt/gitlab --volume /var/log/gitlab --volume /etc/gitlab genezys/gitlab:7.5.2 /bin/true
[root@localhost backup]# docker run --detach --publish 8080:80 --publish 2222:22 --volumes-from gitlab_data genezys/gitlab:7.5.2
......
root@19f5c52a95af:/var/opt/gitlab/git-data/repositories/root# ls -alt
total 0
drwxrwx---. 2 git git  6 May  8 08:57 .
drwxrws---. 3 git git 17 May  8 08:57 ..   

/var/opt/gitlab/git-data/repositories/root 目录中没有内容。

但实际上,我可以在主机上找到内容:

[root@localhost git-data]# cd /var/opt/gitlab/git-data/repositories/root
[root@localhost root]# ls -alt
total 8
drwxrwx---. 4 polkitd ssh_keys   41 May  8 04:47 .
drwxrwx---. 8 polkitd ssh_keys 4096 May  8 04:47 test.git
drwxrwx---. 8 polkitd ssh_keys 4096 May  8 04:47 test.wiki.git
drwxrws---. 3 polkitd ssh_keys   17 May  8 04:42 ..

为什么容器无法显示宿主机挂载目录的内容?

除 /backup 外,您没有将任何主机目录映射到容器。 --volume /var/opt/gitlab 创建新卷,如果要映射目录,请使用 --volume /var/opt/gitlab:/var/opt/gitlab 语法 - https://docs.docker.com/reference/run/#volume-shared-filesystems