我当前的开发环境允许每当更改文件(即nodemon / webpack)时自动重新加载代码。不过,我正在设置一个kubernetes (minikube)环境,以便能够快速地同时打开3-4个相关服务。
一切都很好,但目前还没有自动重新加载代码。我尝试过挂载卷,但与docker和virtualbox处理文件的方式有一些冲突,从而导致了没有反映在docker容器中的主机的文件更改。。(这不是我看到的与这个问题相关的第一个链接,这只是我在另一天搜索它时发现的第一个链接).
总之,长话短说,ppl在开发过程中很难完成现场重装。我发现这个问题在整个网络中都是有知识的,很少有解决方案。到目前为止,我找到的最好的解决方案是同步文件夹的这个人用了主人的焦油。
不过,我想从容器中得到一个解决方案。原因是我希望从容器中运行脚本,这样开发人员就不必每次在特定的回购程序中开始开发时都在其主机上运行一些脚本。
然而,为了做到这一点,我需要从容器到主机运行rsync。我在弄清楚如何编写语法时遇到了令人惊讶的麻烦。
让我们假设我的应用程序分别存在于我的容器和主机中,如下所示:
/workspace/app # location in container
/Users/terence/workspace/app # location in host computer如何从容器同步到主机?我尝试过使用172.17.0.17和127.0.0.1,但没有结果。不完全确定是否有办法做到?
我试过的例子:
rsync -av 172.17.0.17:Users/terence/workspace/app /workspace/app
rsync -av 127.0.0.1:Users/terence/workspace/app /workspace/app发布于 2017-03-26 04:22:13
如果您正在从主机(而不是在容器内)运行rsync,则可以使用docker cp:
例如,docker cp containerName:/workspace/app Users/terence/workspace/app
请澄清:
--network (即桥接或主机)以及已安装的卷(即启动容器时是否使用了-v标志?)更新:要使rsync在容器中工作,需要将主机的dir公开给容器。
当您想到一个解决方案时,请记住这一点:主机dir作为数据卷
注意事项:主机目录本质上是依赖主机的.由于这个原因,无法从Dockerfile挂载主机目录,卷指令不支持传递主机-dir,因为构建的映像应该是可移植的。一个主机目录不会在所有潜在主机上可用。
https://stackoverflow.com/questions/43021779
复制相似问题