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

标签 linux docker gitlab

我正在使用以下命令备份 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

关于linux - 为什么容器无法显示宿主机挂载目录的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30119577/

相关文章:

linux - 在 Shell 脚本 Linux 上获取一元运算符错误

python - 在 virtualenv 中运行 python 脚本的 Bash 脚本

linux - 如何使用 find 更改文件和目录名称?

用户定义的 docker 网络中的 Docker 容器 - 只能从主机访问

amazon-web-services - 用于在 AWS EB 容器服务上部署的 Gitlab 注册表凭证

gitlab - 使用一个 gitlab ci runner 进行多组

Linux 进程正在运行还是未运行?

node.js - 我如何单独运行同一个应用程序

pyspark - 将 Python 脚本提交到 Databricks JOB

c# - .gitlab-ci.yml for C# 使用 Docker image mono