Docker for Windows 目前坑还多吗?做开发环境是否可用呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
wnanbei
V2EX    程序员

Docker for Windows 目前坑还多吗?做开发环境是否可用呢?

  •  
  •   wnanbei 2020-01-19 12:51:44 +08:00 8293 次点击
    这是一个创建于 2144 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目的是想用 Docker 来管理开发环境,一开始由于听说 docker for windows 坑很多,本质上是使用 hyper -v 启用的虚拟机,所以打算用 vscode + VB 虚拟机 + Docker 的方式来做,但是弄到以下情况就弄不下去了:

    • 本地 win 能 ssh 连通虚拟机 ubuntu
    • 虚拟机 ubuntu 能 ssh 连通到 docker 容器,容器已映射端口到虚拟机
    • 虚拟机 ubuntu 端口转发到 win

    但 ssh 还是连不通,可能是防火墙或者权限之类的问题,网上的资料也比较少,考虑到太麻烦最终还是放弃了。

    现在想问的就是直接使用 docker for windows 可行吗,会有哪些比较容易遇到的坑呢?

    33 条回复    2022-04-24 21:53:04 +08:00
    sanjusss
        1
    sanjusss  
       2020-01-19 12:55:01 +08:00
    用了 docker for windows 后,就不能同时运行 vb 或 vm 了。
    wnanbei
        2
    wnanbei  
    OP
       2020-01-19 13:00:57 +08:00
    @sanjusss 这个倒是没有问题,docker,vb,vm 这三者选其一就好
    wweir
        3
    wweir  
       2020-01-19 13:07:39 +08:00
    docker remote 是个不错的替代
    anguiao
        4
    anguiao  
       2020-01-19 13:13:28 +08:00 via Android
    上 20H1 吧,WSL 2 可以直接整合 Docker。
    我一般就拿来开数据库什么的,好像挺正常的,端口映射什么的都没问题。
    wnanbei
        5
    wnanbei  
    OP
       2020-01-19 13:25:32 +08:00
    @wweir docker remote 指的是 docker remote api 吗?
    xomix
        6
    xomix  
       2020-01-19 13:31:21 +08:00
    开发环境问题不大
    wnnbei
        7
    wnanbei  
    OP
       2020-01-19 13:31:27 +08:00
    @anguiao 用 WSL2 的话,跟用 VBox 没有本质区别呀
    niming007zh
        8
    niming007zh  
       2020-01-19 13:34:30 +08:00   1
    各种问题,建议不要使用
    wweir
        9
    wweir  
       2020-01-19 13:35:56 +08:00
    @wnanbei 是啊,服务器上跑个 docker,本地配置一下,默认连上去
    wnanbei
        10
    wnanbei  
    OP
       2020-01-19 13:42:14 +08:00
    @wweir 我目的主要还是想用 vscode 的 remote ssh 或者 remote docker 直接进行开发,可以直接运行调试并返回结果
    wweir
        11
    wweir  
       2020-01-19 13:45:41 +08:00
    用了 remote ssh 还要啥自行车,直接使用 server 上的 shell 不香么
    ra1983
        12
    ra1983  
       2020-01-19 13:50:19 +08:00 via Android
    @sanjusss
    去年 vb 不就兼容 hyperv 了么
    今年 vm 也会兼容
    Illusionary
        13
    Illusionary  
       2020-01-19 13:53:26 +08:00
    Windows docker 如何跑 Linux 内核的容器啊。。
    efaun
        14
    efaun  
       2020-01-19 13:56:09 +08:00
    docker toolbox 比 docker for windows 好用多了
    wnanbei
        15
    wnanbei  
    OP
       2020-01-19 14:05:43 +08:00
    @wweir 就是 docker 内的 ssh 转发到 server,再转发到本机,这个流程没弄通
    wnanbei
        16
    wnanbei  
    OP
       2020-01-19 14:07:55 +08:00
    @efaun toolbox 是调用 vbox 运行 docker 是吗?
    efaun
        17
    efaun  
       2020-01-19 14:12:37 +08:00
    @wnanbei #16 对,可以映射本地端口,可以 ssh,本地还装了 docker machine
    garlics
        18
    garlics  
       2020-01-19 14:18:37 +08:00
    访问太慢,一个请求本地线上还慢的多。
    https://github.com/docker/for-win/issues/188 这个问题几年了都没有解决。
    anguiao
        19
    anguiao  
       2020-01-19 14:48:41 +08:00 via Android
    @wnanbei 确实没有本质区别,但是一些东西自动帮你处理好了,方便很多。
    tfdetang
        20
    tfdetang  
       2020-01-19 14:58:06 +08:00
    我用的是 docker desktop 的测试版(好像这个才能和 wsl2 无缝搭配)。 目前使用感受蛮不稳定的,动不动就起不来。然后很长一段时间突然在 wsl2 下一直提示我没启动 docker (但是在 powershell 下又正常),某次更新后又正常了。如果作为主力开发环境(虽然 remote-container 确实好用),不太建议
    linxiaojialin
        21
    linxiaojialin  
       2020-01-19 15:04:53 +08:00
    我就是 vm 开一个 ubuntu,里面跑 docker+IDE。已经一年了,一直都很顺畅啊!
    wweir
        22
    wweir  
       2020-01-19 15:06:40 +08:00
    @wnanbei vscode ssh 到 linux server,直接在 server 上开发和使用 docker
    wnanbei
        23
    wnanbei  
    OP
       2020-01-19 15:09:43 +08:00
    @wweir vscode 直接 ssh 到 linux server 的话,就调用不了 docker 内部的开发环境了
    wnanbei
        24
    wnanbei  
    OP
       2020-01-19 15:10:24 +08:00
    @linxiaojialin 你是 vm 里开的一个带桌面的 ubuntu 吗?
    akin
        25
    akin  
       2020-01-19 15:11:03 +08:00
    建议用 vagrant 装虚机+docker 这样用。
    linxiaojialin
        26
    linxiaojialin  
       2020-01-19 15:15:16 +08:00
    @wnanbei 是滴,本地开发的话,肯定装桌面版呀
    kingleid
        27
    kingleid  
       2020-01-19 16:03:50 +08:00
    还是老实用 linux 吧 ,win 的坑还是别进了,还是用 vm 虚吧
    snowfuck
        28
    snowfuck  
       2020-01-19 16:49:18 +08:00
    我目前在 win10 下用 wsl + docker for windows + vscode remote 来开发 go 项目,除了 vscode 的 debug 不行没发现其他什么问题。wsl 我用的 ubuntu 18, 改了下配置将 window 文件挂载到 /c 而不是 /mnt/c,这样直接在 wsl 下 mount windows 目录进 docker 也没有问题。代码放在 /c 下面的目录,两边共享。
    careyhyj
        29
    careyhyj  
       2020-01-19 16:49:36 +08:00
    用 win10 的话,可以尝试 WSL,应该能满足一般开发需要~
    ala2008
        30
    ala2008  
       2020-01-19 17:27:23 +08:00
    刚用上,好像还行。就是没有命令行提示
    Dmego
        31
    Dmego  
       2020-01-19 17:36:55 +08:00
    用 WSL2 没问题, Docker,kubernetes 环境都能满足,目前使用来看唯一缺点就是 IO 性能还需要提高。前不久我在安装环境的时候还整理出了一篇文档,有需要的可以参考:https://dmego.me/2019/12/21/make-wsl2-as-a-productivity-tool
    0x0000009C
        32
    0x0000009C  
       2022-04-22 14:50:14 +08:00
    @Dmego #31 文档访问不了了
    Dmego
        33
    Dmego  
       2022-04-24 21:53:04 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5705 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 06:15 PVG 14:15 LAX 22:15 JFK 01:15
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86