V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ling516
V2EX  ›  Visual Studio Code

vscode 远程开发,大家是连接 Linux 系统开发的,有连接 docker 的吗

  •  
  •   ling516 · 2021-08-29 00:07:19 +08:00 · 5776 次点击
    这是一个创建于 1182 天前的主题,其中的信息可能已经有所发展或是发生改变。

    哪个好点

    19 条回复    2021-09-13 14:28:27 +08:00
    huangsen365
        1
    huangsen365  
       2021-08-29 01:36:40 +08:00 via iPhone
    买台 NUC 放家里,用 RDP 远程桌面
    dengshen
        2
    dengshen  
       2021-08-29 02:33:54 +08:00 via iPhone
    哎。刚刚还在折腾用 docker 跑( linuxserver/code-server )。但是需要用代理才可以下载插件。没插件根本没法用
    beginor
        3
    beginor  
       2021-08-29 08:29:34 +08:00 via Android
    如果不是 Linux 的话,docker 还是省省吧,CPU 和磁盘都很差。如果是 Linux 的话,为啥还要用 docker 呢?好像是个死循环。

    如果像 GitHub 那样提供 codespace 服务,倒是可以考虑用 docker 。
    MengiNo
        4
    MengiNo  
       2021-08-29 08:36:38 +08:00   ❤️ 1
    @beginor 挺正常的呀,我都是用 macOS 装 docker desktop (或者云主机上装 docker ) 用 vsc-remote-container 连到容器内编码测试。这样完全做到开发环境隔离、vsc 的配置、插件隔离。宿主上连 git 甚至都不用装,完全干净方便迁移。mac 磁盘性能问题以及云主机的 git 权限问题都可以通过用 docker volume 缓解和解决。
    MengiNo
        5
    MengiNo  
       2021-08-29 09:09:27 +08:00   ❤️ 6
    建议楼主在 Linux 上装 docker,使用 vsc-remote-container 进行开发。好处有三:
    1. docker 的多环境隔离优势自不用说了,加上 Linux 上的 docker 对比 Win / Mac 的 docker desktop 性能优势,得天独厚的条件不用可惜;
    2. 使用 docker 之后可以使用 docker compose 管理多项目(比如前后端项目使用 docker compose 一起启动,内部使用同一个 docker network ),vsc-remote-container 在端口暴露、git 的权限、文件管理、vscode 配置文件及插件隔离等问题上处理表现的十分优秀。基本你会用到的东西微软都考虑到了,非常省心;(举个例子,在云主机的 nodejs 容器里写一个 vue 项目,直接在本地的浏览器用 localhost:xxxx 访问,依然支持页面内容的 hot reload 。你完全不需要考虑他是怎么实现的,只要和在本地一样写好 dockerfile & docker-compose.yml 即可)
    3. 项目天生容器化,且没有增加额外成本,因为反正做 ci/cd 时都得编写一套,不如直接开发就上 dockerfile,不但环境、流程更仿真,ci/cd 时也可复用;

    最关键的是 docker context 一键切换 host 几乎 0 迁移成本实在太爽了。自己的 mac 本机干干净净连 git 和 docker 都没有(只要单独下个 docker-cli 二进制文件就行)。我现在写啥都用 vscode,都快被同事当异类了 23333 。
    ophunter
        6
    ophunter  
       2021-08-29 09:41:03 +08:00
    @MengiNo 你这个公司项目有安全风险吧
    FlVE
        7
    FlVE  
       2021-08-29 09:49:52 +08:00
    在 docker 里起一个 ssh server 不行吗
    XTTX
        8
    XTTX  
       2021-08-29 09:58:31 +08:00
    @MengiNo 云上开发,高级的。我觉得其实是一个趋势,公司可以不用再去买那么多顶配 macbook pro 了
    chaleaoch
        9
    chaleaoch  
       2021-08-29 10:13:28 +08:00
    我宿主机 windows 开发环境 docker
    而且把 docker 当 linux 用. 也就是说 N 各项目在一个 docker 里面现在已经 20 多 G 了.

    起初的原因是 因为项目需要必须运行在 docker 下面.
    后来发现 Linux 环境真的舒服. 公司有提供云主机但是配各种代码麻烦的很. 所以就一直用 docker 了 目前没有遇到性能问题. 4G 内存同时开四个 vscode 无压力.
    chaleaoch
        10
    chaleaoch  
       2021-08-29 10:14:20 +08:00
    需要注意的是做好备份. 曾经 docker 崩了一回. 还好做了备份. 环境还在.
    BiteTheDust
        11
    BiteTheDust  
       2021-08-29 11:41:07 +08:00
    还有连 wsl 的呢
    AoEiuV020
        12
    AoEiuV020  
       2021-08-29 12:09:27 +08:00 via Android
    有,种种原因我最终是 wsl 里的 vscode 连 hyperv 虚拟机里的 docker,
    echo1937
        13
    echo1937  
       2021-08-29 12:28:34 +08:00
    1 、家里放高配 PC 确实可行,但是没有公网 IP,内网穿透带宽也很低,体验不好,

    2 、本地开发,我在 Windows 上开发,代码跑在 Vagrant + VMware Workstation + Linux Docker 的环境下,主要是看重快速部署的能力。即使是换一台电脑,最多半小时也能把全部开发环境搭建好。

    3 、我很希望公有云服务的费用能更灵活和便捷,开发环境直接在云端即可,连步骤 2 都不用配置。
    sbilly
        14
    sbilly  
       2021-08-29 12:38:32 +08:00
    不是主力开发环境,只是简单修改下代码之类的,直接远程 web vscode
    oubl23
        15
    oubl23  
       2021-08-29 13:24:48 +08:00
    windows 下用 wsl 不行吗
    sen2
        16
    sen2  
       2021-08-29 14:59:21 +08:00
    主机装上 docker,本地 vscode+remotecontainer 插件,非常完美,环境互不影响。
    MengiNo
        17
    MengiNo  
       2021-08-29 22:24:16 +08:00 via Android
    @ophunter 其实我也不太清楚公司要如何防止员工“偷”代码,因为界限太模糊了,特别是疫情下在家办公的情况下。没有在大厂呆过,这块我其实不太了解,总觉得除非不允许连公网,不然不就随便哪怕把代码文件夹拖到微信里不就传播出去了。至于什么录屏、日志、审计这些都是事后溯源证据,无法事前阻止这种事情的发生。
    我上面说的操作,我自己自认为是比较自觉的,公司的 git 仓库是内网的,所谓的“云 host” 其实也是我向运维申请的公司内网的测试服务器(物理机其实也在公司里),使用 vsc-remote-container 并不会将代码转移或发布到公司外部。还是你指的安全风险指的是项目本身的风险?
    noyidoit
        18
    noyidoit  
       2021-08-30 02:39:16 +08:00
    @oubl23 如果公司用 svn 的话,wsl2 不是一个好选择,除非完全放弃 gui 下的 diff
    byte10
        19
    byte10  
       2021-09-13 14:28:27 +08:00
    @XTTX 我也觉得远程开发优势很爽,买几台便宜的台式机就可以满足十几人同时开发,研发人员全部配一个双核低端笔记本即可。
    @oubl23 可以,最近公司发了 windows 电脑,不给发 macos,我就是用 wsl,目前没啥大问题,后续直接买个低配的 macos 黑苹果即可。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2860 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:12 · PVG 22:12 · LAX 06:12 · JFK 09:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.