我是Docker的新手。
我运行了一个10节点的图像,并在运行的容器中克隆了一个存储库,运行了使用文件监视程序启动服务器的应用程序。我需要访问容器内的代码库,并在Windows主机上运行的IDE中打开它。如果完成了,那么我还希望在IDE中更改文件时,这些更改会导致容器中出现文件监视程序。
感谢您的帮助。谢谢,
答案 0 :(得分:2)
您要寻找的概念称为volumes。您需要启动一个容器并在其中安装主机目录。对于容器,它将是一个常规文件夹,并且将在其中创建文件。对您来说,它也是一个常规文件夹。双方所做的更改将对另一方可见。
docker run -v /a/local/dir:/a/dir/in/your/container
请注意,尽管您可能会遇到permission issues,但需要另外弄清楚。
答案 1 :(得分:1)
嗨,我认为您应该使用装载卷作为源代码,并通常从IDE中编辑代码:
docker run -it -v "$PWD":/app -w /app -u node node:10 yarn dev
在这里docker将创建一个映像,将工作目录设置为“ / app”,将当前目录安装到“ / app”,并在启动时以“节点”用户(无root用户)运行“ yarn dev” >
希望这会有所帮助。
答案 2 :(得分:1)
这取决于您要处理的文件。
有docker cp
命令,可用于将文件复制到容器或从容器复制文件。
但是,在我看来,您正在使用docker进行开发,因此您应该挂载一个卷,也就是说,您将主机上的目录作为一个卷安装在docker中,这样写到该目录的所有内容都会显示出来。在容器中,反之亦然。
例如,如果您拥有在Windows计算机上的C:\src
中针对其开发的代码库,则可以像docker run -v c:\src:/app
一样运行docker,其中/app
是节点正在寻找的位置但是,对于Windows,由于Docker不是Windows的本机,因此需要考虑一些事项,因此请首先查看documentation。