代码之家  ›  专栏  ›  技术社区  ›  Akxe

在没有本地文件的docker映像上使用VSCode远程开发

  •  0
  • Akxe  · 技术社区  · 6 年前

    到目前为止,我们正在使用docker compose管理的五个docker容器(MySQL、PHP、static…)。我们只需要访问其中一个。我们现在有了一个所有数据的本地副本,并将它从Windows同步到容器中,但是这非常慢,Windows上的VSCode有时会随机锁定文件 git rebase origin/master

    使用VSCode远程开发扩展来:

    • 编辑容器中的文件,而不在Windows上使用任何镜像文件
    • 运行构建命令(make、ng、npm)
    • 仍然保留Windows,因为对于许多开发人员来说,它是首选的平台。


    我试着跟着 official guide ,但它们似乎要求我们拥有镜像文件。我们也使用WSL。

    0 回复  |  直到 6 年前
        1
  •  0
  •   FSCKur    5 年前

    这听起来和我做的一模一样。我的团队在桌面上使用Windows,我们开发了一个容器化的Linux应用程序。

    您也可以使用SSH连接到docker主机并在其上编写代码,但在我看来,这样做不太好,因为您希望“包含”所有定制—我已在我的dev容器中安装了一些高质量的软件包,我更希望将这些软件包放在同事的环境之外和docker主机之外。

    我们可以访问docker主机,所以我们在docker主机上克隆源代码并通过它装载。我们还为SQL和Redis数据绑定docker主机上的装载文件夹,但这可以通过docker卷实现。IIUC,工作区文件夹本身必须是绑定装载-事实上,在devcontainer.json 文件。但是,既然您需要docker守护进程的许可,这可能是可以实现的。

    所有源代码操作都发生在dev容器中,即Linux中。我们从那里提交和推送,我们在那里编辑我们的代码。如果我们需要在笔记本电脑上进行回购,我们可以在本地进行。没有rcopy,没有SCP-github是我们的“同步”机制。我们以前使用过vagrant,从Windows挂载了源代码——符号链接对我们来说是一个绝对的痛苦,但可能任何尝试过从Windows挂载源代码到Linux的人都会经历过一些元素或其他元素的痛苦。

    dev容器中的VSCode与本地体验非常相似。你会在候机楼大吃一惊的。说真的,你可能不碰bash就不能这样工作。但是,您可以在容器中安装PSv7和/或“更好”的shell(如zsh)。