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

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

  •  
  •   ling516 · 60 天前 · 3873 次点击
    这是一个创建于 60 天前的主题,其中的信息可能已经有所发展或是发生改变。

    哪个好点

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

    如果像 GitHub 那样提供 codespace 服务,倒是可以考虑用 docker 。
    MengiNo
        4
    MengiNo   59 天前   ❤️ 1
    @beginor 挺正常的呀,我都是用 macOS 装 docker desktop (或者云主机上装 docker ) 用 vsc-remote-container 连到容器内编码测试。这样完全做到开发环境隔离、vsc 的配置、插件隔离。宿主上连 git 甚至都不用装,完全干净方便迁移。mac 磁盘性能问题以及云主机的 git 权限问题都可以通过用 docker volume 缓解和解决。
    MengiNo
        5
    MengiNo   59 天前   ❤️ 5
    建议楼主在 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   59 天前
    @MengiNo 你这个公司项目有安全风险吧
    FlVE
        7
    FlVE   59 天前
    在 docker 里起一个 ssh server 不行吗
    XTTX
        8
    XTTX   59 天前
    @MengiNo 云上开发,高级的。我觉得其实是一个趋势,公司可以不用再去买那么多顶配 macbook pro 了
    chaleaoch
        9
    chaleaoch   59 天前
    我宿主机 windows 开发环境 docker
    而且把 docker 当 linux 用. 也就是说 N 各项目在一个 docker 里面现在已经 20 多 G 了.

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

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

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