【问题标题】:Sharing files between container and host在容器和主机之间共享文件
【发布时间】:2016-04-15 15:16:52
【问题描述】:

我正在运行一个带有卷 /var/my_folder 的 docker 容器。那里的数据是持久的:当我关闭容器时它仍然存在。 但也希望在我的主机上提供数据,因为我想使用未安装在我的容器中的 IDE 处理代码。

那么我如何才能在我的主机上拥有一个文件夹 /var/my_folder 也可以在我的容器中使用?

我正在研究 Linux Mint。

感谢您的帮助。

谢谢。 :)

【问题讨论】:

    标签: docker


    【解决方案1】:

    链接:Manage data in containers

    你想要的基本运行命令是...

    docker run -dt --name containerName -v /path/on/host:/path/in/container
    

    问题是安装卷将(出于您的目的)覆盖容器中的卷

    解决此问题的最佳方法是创建要在安装后共享的文件(在容器内)。

    ENTRYPOINT 命令在 docker run 上执行。因此,如果您的文件是作为入口点脚本的一部分而不是作为构建的一部分生成的,那么一旦挂载,它们就可以在主机上使用。

    因此,解决方案是运行在 ENTRYPOINT 脚本中创建文件的命令。

    如果失败,在构建期间将文件复制到另一个目录,然后将它们复制回您的 ENTRYPOINT 脚本中。

    【讨论】:

    • 感谢您的回答!但是当我的卷包含一个 git 存储库时,我就不必处理这个问题了,对吗?
    • 附录:在执行您的命令时,我收到此消息:docker: "run" 至少需要 1 个参数。请参阅 'docker run --help'。
    • 道歉我认为名字必须是最后一个参数
    • 如果 repo 在你的容器中,那么 git clone 在你的 ENTRYPOINT 脚本中,如果它在主机上,那么它就可以工作
    猜你喜欢
    • 1970-01-01
    • 2017-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多