【问题标题】:Editing Docker container FS using Atom/Sublime-Text?使用 Atom/Sublime-Text 编辑 Docker 容器 FS?
【发布时间】:2015-07-16 19:46:43
【问题描述】:

我在 boot2docker 的帮助下运行 OSX 和 Docker。

据我了解,boot2docker 是一个运行 docker 容器的轻量级 Linux 发行版。我有一些 Ubuntu 容器,用于运行和测试应该在 Linux 上运行良好的项目。

但是,我选择的主机文本编辑器中的每一个小代码更改都需要我重新构建映像并重新运行容器。运行应用程序并确认我所做的更改没有破坏某些内容。

有没有办法让我在主机上的文本编辑器中打开 Docker 容器 FS 文件夹? (又名远程编辑?)

你们中有人做过吗?任何想法都会很棒。我考虑在 Docker 容器上设置 SFTP 或 SSHD,但我想听听您的意见?

【问题讨论】:

  • 不使用boot2docker 时(例如,在Linux 上运行时),标准解决方案是使用Docker 卷在容器内公开您的主机文件系统。我不知道使用 boot2docker 时的卷支持是什么样的,所以我不知道这是否适合您的情况。

标签: docker sublimetext2 sublimetext3 atom-editor


【解决方案1】:

我经常做的是,在开发中,将应用程序的源代码挂载到其通常的位置,即volume。然后,我将容器的命令(或入口点)设置为以“开发模式”启动它的脚本(例如,对 node.js 应用程序使用 nodemon,在 Rails 中设置 RAILS_ENV=development,等等)。

确实在 Mac OS X(我假设是 Windows)的 boot2docker 或 docker-machine 下工作,但需要注意的是,您需要在主目录下的某个地方工作。

举个具体的例子,这是我设置的a repository。成分:

  1. script/dev 是我的“开发模式”入口点。它在 nodemon 下启动主应用程序。
  2. 当我启动容器时,我mount the source directory into the container as a volumeset script/dev as the command。 (我在这里使用docker-compose 来启动和链接上游依赖项,所以我可以在一个命令中完成所有操作。)

有了这两件事,我可以运行docker-compose up,在我在主机上选择的任何编辑器中更改源代码,保存文件,容器内的服务会自动重新加载以使我的更改生效。快!

【讨论】:

  • 很抱歉延迟接受答案。上周刚试过你的方法,它非常适合我的情况。谢谢你的回答!
  • 我没有看到文件夹中的任何文件,有视频吗
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-13
  • 1970-01-01
  • 1970-01-01
  • 2015-02-21
  • 1970-01-01
  • 2014-04-01
  • 2020-04-27
相关资源
最近更新 更多