• 请不要在回答技术问题时复制粘贴 AI 生成的内容
kfansup
V2EX  ›  程序员

windows 上面跑 docker 有什么最佳实践吗

  •  
  •   kfansup · Jul 27, 2022 · 11520 views
    This topic created in 1566 days ago, the information mentioned may be changed or developed.
    真的卡,开几个容器机器就受不了。
    之前 docker desktop 忘记关闭自动更新,结果现在界面越更越丑,丑就算了,比以前还更卡?
    43 replies  •  2024-03-28 17:41:37 +08:00
    pota
    pota
    Jul 27, 2022
    1
    WSL2 ?
    wxlwsy
    wxlwsy
    Jul 27, 2022
    2
    从来不用 docker desktop 那个 UI 只用命令即可.
    mokeyjay
    mokeyjay
    Jul 27, 2022
    3
    最佳应该是 wsl 2 里跑 docker 而不是 docker desktop
    但如果你代码放在 win 里共享给 wsl 2 ,io 性能又会非常拙计

    没有完美的方案😥
    hakr
    hakr
    Jul 27, 2022
    4
    docker desktop 难用的一 P, 建议 WSL2 中安装
    kfansup
    kfansup
    OP
    Jul 27, 2022
    5
    pota
    pota
    Jul 27, 2022
    6
    @mokeyjay #3 win 还是推荐直接文件放 wsl2 里面 然后 win 开 ide 编辑 wsl 内的文件
    kfansup
    kfansup
    OP
    Jul 27, 2022
    7
    @pota
    @mokeyjay 是用的 wsl2 ,代码也是共享的,之前命令行用的时候也不是很方便。看来我的使用姿势有问题,是要抛弃 UI 了。
    sbabybird
    sbabybird
    Jul 27, 2022
    8
    经过一番折腾,个人感受:WSL2 下体验最佳,甚至还能使用 nvidia-docker 调用 gpu 资源。
    mokeyjay
    mokeyjay
    Jul 27, 2022
    9
    @pota 同样不行,这样做的话你执行一下 composer install 或者 npm install 之类的命令,ide 可能半个小时都扫描不完
    在 docker 里新生成的文件,ide 里也可能好一会儿才看得到
    dawangyezi
    dawangyezi
    Jul 27, 2022
    10
    远程登录一个 linux 主机,在那上面跑
    hwdef
    hwdef
    Jul 27, 2022
    11
    docker desktop 肯定是有内存管理方面的问题,给多少内存都会吃满,,,然后 docker 还在一直推这个玩意,,连 linux 上都在推,,,
    securityCoding
    securityCoding
    Jul 27, 2022
    12
    限制一下资源?
    ch2
    ch2
    Jul 27, 2022
    13
    卸载 docker desktop ,直接在 wsl2 里装 docker-ce 就行了
    c1273082756
    c1273082756
    Jul 27, 2022
    14
    远程 linux 跑
    pota
    pota
    Jul 27, 2022
    15
    @mokeyjay #9 目前还没遇到这个情况,家里电脑就是直接用\\wsl 方式访问 wsl 内部的文件进行开发,扫描也就比宿主机慢差不多一半时间,也就几分钟就好了
    energetic
    energetic
    Jul 27, 2022❤️1
    16
    在 linux 虚拟机里面跑 docker ,配置 docker 服务允许远程访问,在 windows 把 docker Client( https://download.docker.com/win/static/stable/x86_64/ )下载下来,用 docker -H 命令连上 linux 虚拟机的 docker ,就可以正常用了。
    jack778
    jack778
    Jul 27, 2022
    17
    卡的一比, 打飞机?
    crstudio
    crstudio
    Jul 27, 2022
    18
    推荐 multipoass
    ByteCat
    ByteCat
    Jul 27, 2022
    19
    通过一台 Linux 主机跑 Docker (假定 IP 为 10.0.1.1 ),在 Windows/macOS 使用 docker-cli `docker -H 10.0.1.1 version`,如果指定环境变量 DOCKER_HOST 还可以省略命令中的 -H 。
    hertzry
    hertzry
    Jul 27, 2022
    20
    Docker Desktop 能自动整合到 WSL 2 里。

    elechi
    elechi
    Jul 27, 2022
    21
    VMWARE 跑虚拟机
    Tianqi
    Tianqi
    Jul 27, 2022
    22
    可以 WSL2 也可以 CMD/PS ,都行,WSL2 舒服点
    c1273082756
    c1273082756
    Jul 27, 2022
    23
    我一般是 git push 后, 远程的 Linux 会自动 pull 然后 docker 重新打包部署
    yedanten
    yedanten
    Jul 27, 2022 via Android
    24
    win 上跑 docker 不如直接开个 vmware 。
    shellic
    shellic
    Jul 27, 2022
    25
    没有,不如直接虚拟机
    insert000
    insert000
    Jul 27, 2022
    26
    我是 虚拟机装个轻量 linux, 跑 docker ,然后端口从虚拟机里面映射出来 。和本地开发一样 。只要虚拟机不崩溃还是很稳定的
    v2er4241
    v2er4241
    Jul 27, 2022
    27
    @hertzry #20 是啊!我还在奇怪,docker desktop 默认就是使用 wsl2 的,而且也不卡啊?我感觉这个就是最佳实践了。
    mmdsun
    mmdsun
    Jul 27, 2022 via iPhone
    28
    docker desktop ,设置勾选 WSL2 在 WSL2 里跑
    mokeyjay
    mokeyjay
    Jul 27, 2022
    29
    @pota 请问下你是做什么开发的、用的是什么 ide 呢?
    如果在 docker 下随便 touch 一个新文件,切换到 ide 中,多久之后才能看到它?
    documentzhangx66
    documentzhangx66
    Jul 27, 2022❤️1
    30
    跑 Docker 最好的实践就是不用 Windows 。

    Windows 的 Hyper-V 以及自带的容器服务,开机会占很多内存,即使不用。

    在 Windows 上用 VMware Workstation 或 vBox 之类的,属于二次虚拟化,性能更差。

    想玩 Docker 的最好实践:

    1.去咸鱼上,买 miniITX ,那种一百元出头能包含主板、CPU 、VGA 输出、千兆网卡。

    2.自己再买内存条与存储介质。

    3.去拼多多上买 50 元左右一个的厨房 5 层架子带轮子的那种。

    4.架子,最上面的那层,也就是第一层,篮子反扣,放第一台电脑的裸主板。

    5.第二层放第一台电脑的存储,建议系统盘:128G SSD ( 64G 拿来做 swap )、虚拟化盘:SSD 、大容量 HDD 。

    6.第三层放两台电脑的电源。

    7.第四层反扣,放第二台电脑的裸主板,

    8.最下面一层放第二台电脑的存储。

    9.放存储的那两层,每层的两侧各装 2 个 12cm 的大 4pin 静音风扇,对着 HDD 吹。

    10.如果数据线或电源线不够长,可能需要加长。
    ragnaroks
    ragnaroks
    Jul 27, 2022
    31
    docker EE 是不需要 hyper 支持的,但是有 2 个问题看你能不能接受;一个是镜像内的文件不会复制到挂载点的实际路径上(这个已经和微软客服确认是 BUG 但不考虑修复),另一个是重启会丢失创建的任何网络(自动创建的 nat 网络除外);其它方面就没啥区别了
    GP1
    GP1
    Jul 27, 2022
    32
    你们在 WSL 里面安装的都是 Ubuntu 吗?
    sprite82
    sprite82
    Jul 28, 2022
    33
    VMware 虚拟机
    ijyuqi
    ijyuqi
    Jul 28, 2022
    34
    虚拟机跑 docker ,设置下虚拟机和本地共享文件夹,跟在 window 下开发没有任何区别。这样还有 Linux 开发环境
    raptor
    raptor
    Jul 28, 2022
    35
    最佳实践就是格掉装 linux ,省了很多莫名其妙的麻烦
    kfansup
    kfansup
    OP
    Jul 28, 2022
    36
    昨天没看 v 站,没想到这么多大佬回复。一些情况统一回复下:Docker Desktop 是已经开了 WSL2 了的,可能是工作机性能不太行,用久了还是会不流畅。之前我是使用 WSL 环境做开发的,其实最早 WSL 出来的时候我就是第一批尝鲜的了,后面因为一些原因吧,要在本机和 WSL 之间切来切去,一套环境经常要配置两次,慢慢就脱离了。
    kfansup
    kfansup
    OP
    Jul 28, 2022
    37
    虚拟机开 docker 的思路没尝试过,有空试试
    kfansup
    kfansup
    OP
    Jul 28, 2022
    38
    @documentzhangx66 #30 偶遇垃...垃圾佬?
    documentzhangx66
    documentzhangx66
    Jul 28, 2022
    39
    @kfansup 我不是专业的垃圾佬,只是喜欢折腾高性价比硬件而已。
    dingwen07
    dingwen07
    Jul 28, 2022
    40
    Docker Desktop 会自动使用 WSL2 啊
    cnit
    cnit
    Jul 28, 2022
    41
    我装了夜神模拟器之后,夜神叫我关闭 hyper-V ,然后 WSL 指定的文件已加密,而且用户没有能力解密。
    feison
    feison
    Apr 16, 2023
    42
    @documentzhangx66 哇,对这个置物架很感兴趣,请 po 张图来看看,哈哈
    Subfire
    Subfire
    Mar 28, 2024
    43
    @dingwen07 默认勾选, 可以取消
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1710 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 80ms · UTC 16:09 · PVG 00:09 · LAX 08:09 · JFK 11:09
    ♥ Do have faith in what you're doing.