会打代码的扫地王大爷 2016-02-25 17:10 采纳率: 0%
浏览 6108

Docker 挂载本地目录以后发现里面的内容不全

docker run -it -v /d/:/data ubuntu64 /bin/bash
然后/d/中原先应该有10多个文件。可是现在在ubuntu64里面ls以后只出现一个文件夹,是什么情况

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-05 01:00
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    你使用了-v参数将你的本地目录挂载到容器的/data位置。

    如果你的本地目录中包含大量的文件和子目录,那么当你运行上述命令时,这些内容会被复制到容器中的/data位置,并且由于是直接复制过来的,所以你可能看到的是一个空目录。

    如果你想保留你的本地目录中的所有文件和子目录,你应该考虑以下方法:

    1. 使用--volume选项来指定你的本地目录。
    2. 如果你需要保留整个目录及其所有子目录,你可以创建一个新的镜像并将它作为服务的一部分。

    例如,你可以这样做:

    docker run -it --rm -v /your/local/path:/data/ubuntu:latest
    

    在这个例子中,--rm选项用于删除容器,而--volume选项用于将你的本地目录挂载到容器的/data位置。ubuntu:latest是一个新的镜像,它包含了最新的Ubuntu版本。这将确保你的本地目录中的所有文件和子目录都被复制到容器中,并且不会被覆盖或丢失。

    请注意,这个方法会为每个新创建的服务分配一个新的镜像,这意味着你需要为每个服务创建一个新的镜像。如果服务数量较多,这种方法可能会导致镜像大小增加。

    评论

报告相同问题?