首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker -从主机访问容器内的文件

Docker -从主机访问容器内的文件
EN

Stack Overflow用户
提问于 2018-10-17 21:41:16
回答 3查看 21.9K关注 0票数 6

我是新来码头的。

我运行了一个node-10镜像,在运行的容器中,我克隆了一个存储库,运行了一个应用程序,该应用程序启动了一个带有文件监视器的服务器。我需要访问容器中的代码库,在windows主机上运行的IDE中打开它。如果这样做了,那么我也希望当我在IDE中更改文件时,这些更改会导致容器中的文件守护程序。

任何帮助都是非常感谢的。谢谢,

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-10-17 21:51:49

您正在寻找的概念称为volumes。您需要启动一个容器并在其中挂载一个主机目录。对于容器,它将是一个常规文件夹,它将在其中创建文件。对于你来说,它也将是一个常规的文件夹。任何一方所做的更改都将对另一方可见。

代码语言:javascript
复制
docker run -v /a/local/dir:/a/dir/in/your/container

但请注意,您可能会遇到需要单独解决的permission issues

票数 6
EN

Stack Overflow用户

发布于 2018-10-17 21:55:23

这取决于您想要如何处理这些文件。

您可以使用docker cp命令将文件复制到容器中或从容器中复制文件。

然而,在我看来,您是在使用docker进行开发,所以您应该改为挂载一个卷,也就是说,您在主机上挂载一个目录作为docker中的卷,因此写入该目录的任何内容都将显示在容器中,反之亦然。

例如,如果您有在windows计算机上使用C:\src进行开发的代码库,那么您可以运行docker run -v c:\src:/app这样的docker,其中/app是该节点正在查找的位置。然而,对于Windows来说,有一些事情需要考虑,因为Docker不是Windows原生的,所以先看一下documentation

票数 3
EN

Stack Overflow用户

发布于 2018-10-17 21:54:22

您好,我认为您应该使用挂载卷的源代码,并编辑您的代码从您的IDE通常:

代码语言:javascript
复制
docker run -it -v "$PWD":/app -w /app -u node node:10 yarn dev

在这里,docker将创建一个镜像,将工作目录设置为"/app",将当前目录挂载到"/app“,并在启动时使用"node”用户(非根用户)运行“dev”。

希望这能帮上忙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52856353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档