如何将文件从docker中的卷挂载到容器?

Larry Cai

id_rsa在docker卷中放了一个安全文件larrycai_vol,试图将其作为文件挂载到容器中。

$ docker volume inspect larrycai-vol
[
    {
        "CreatedAt": "2018-05-18T06:02:24Z",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/larrycai-vol/_data",
        "Name": "larrycai-vol",
        "Options": {},
        "Scope": "local"
    }
]

我们是否有如下所示的命令(现在不起作用)

docker run -it -v larrycai-vol/id_rsa:/root/.ssh/id_rsa own_ubuntu

我知道如果我从docker host挂载文件就可以了

docker run -it -v $PWD/.ssh/id_rsa:/root/.ssh/id_rsa own_ubuntu
亚历杭德罗·加莱拉(Alejandro Galera)

请让我进一步考虑一些提议的解决方案,以避免进一步的误解。

  • Docker允许挂载卷(从主机的路径目录部署到docker路径,即-v $PWD/.ssh:/root/.ssh=它将替换目标中的完整.ssh文件夹,因此,尽管可能,不建议这样做
  • Docker允许挂载命名卷(从命名卷名部署到docker路径,即-v larrycai-vol:/root/.ssh=将替换目标中的完整.ssh文件夹,因此,尽管可能,不建议这样做
  • Docker允许将文件从主机挂载到Docker(例如:-v $PWD/.ssh/id_rsa:/root/.ssh/id_rsa=您的第二个示例
  • Docker允许将文件从命名卷挂载到docker(例如:-v /var/lib/docker/volumes/YOUR_NAMED_VOLUME_NAME/_data/file:/dest_dir/file=您要执行的操作

您的错误是您告诉Docker从您的larrycai-vol目录而不是从名为docker的docker挂载id_rsa。换句话说,以下三个命令是等效的

docker run -it -v ./larrycai-vol/id_rsa:/root/.ssh/id_rsa own_ubuntu
docker run -it -v $PWD/larrycai-vol/id_rsa:/root/.ssh/id_rsa own_ubuntu
docker run -it -v larrycai-vol/id_rsa:/root/.ssh/id_rsa own_ubuntu

因此,如果larrycai-vol目录(未命名卷,但位于主机中的目录)不存在,则命令将无法正常运行。

明确地说,要执行您要尝试的操作,必须bind volume在已命名卷存储数据的目录中创建一个

docker run -it -v /var/lib/docker/volumes/larrycai-vol/_data/id_rsa:/root/.ssh/id_rsa own_ubuntu

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在构建期间如何将主机卷挂载到Dockerfile中的Docker容器中

如何将Docker容器卷挂载到其他路径?

如何将用户现有的.ssh目录挂载到Docker容器中?

如何将Docker容器中的目录挂载到主机?

如何将当前工作目录挂载到Docker容器上?

如何将Docker容器中的目录挂载到主机?

将本地卷挂载到远程docker容器上,可能吗?

如何在Docker中将卷从容器挂载到主机?

从Dockerfile将本地目录作为卷挂载到容器中

如何将主机数据挂载到不同的容器

将Docker卷挂载到主机路径

如何将卷从主机装载到容器

Docker-如何将/ var / lib / mysql挂载到docker mysql容器

如何将文件挂载到docker / compose容器?

将外部文件挂载到Docker容器中

将单个文件从NFS docker卷挂载到容器中

使用docker-compose将WordPress命名卷挂载到NGINX容器的子目录中

如何将主机目录挂载到正在运行的Docker容器中

将/var/run/docker.sock挂载到容器中时,哪个文件系统用于卷挂载?

将NFS目录挂载到与Docker共享的主机卷中

如何将主机目录挂载到容器VOLUME?

Docker如何将卷从Docker Client挂载到在Docker主机上运行的Docker容器中?

如何将主机代码挂载到 docker 中的容器?

如何使用 Ansible Playbook 将 nginx docker 容器挂载到主机中?

Dockerfile - 如何定义将主机文件系统挂载到容器

如何使用 REST api 将文件存储卷挂载到 azure 容器实例

如何将 docker 容器主目录挂载到 Azure 存储

如何在gitlab中挂载卷并将文件复制到docker容器中?

是否可以将文件挂载到在 Google Cloud Run 中运行的 docker 容器