跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 离开 docker for mac,体会童年时编程的快乐!
未分類
24 4 月 2020

离开 docker for mac,体会童年时编程的快乐!

离开 docker for mac,体会童年时编程的快乐!

資深大佬 : JJstyle 11

首先这是我的 mac 配置:

离开 docker for mac,体会童年时编程的快乐!

最让我难以忍受的就是:慢!!!

一个 vue 应用使用yarn run dev热运行起来本来需要大概一分钟,在 docker 运行起来需要 5 分钟

一个简单的 JWT 登录接口,docker 中需要 2~3 秒,而原来只需要 100ms 左右

ta 为什么这么慢?原因是挂载文件的同步问题照成的,导致磁盘读写速度慢,在 volumes 上加上cached或者delegated标志能稍微挽回点,RBN,依然让我无法忍受。

且勿劝主换 linux,谢谢。

其他原因:

  1. 资源消耗过多,最近旁边妹子说你电脑最近咋不响了,我说,我不用 docker 了 ….
  2. docker 并不能完全提供环境独立性,volumes 下的文件系统依然基于宿主机磁盘,所以你会发现,容器内其他目录区分大小写文件名,volumes 共享的目录却不区分 …

目前本机开发环境管理:

  1. 使用 homebrew services 管理 apache/php56/php72/redis/es/mysql 等
  2. 使用 supervisor 管理 vue app

为了怕被 docker 党喷,我发在了 mac 节点

大佬有話說 (59)

  • 資深大佬 : NeoChen

    请教一个问题,序列号不打码会有什么后果?

  • 資深大佬 : wangkun025

    换 fedora 吧,一起一起。

  • 主 資深大佬 : JJstyle

    @NeoChen 不清楚哎,会有啥后果?

  • 主 資深大佬 : JJstyle

    @wangkun025 蟹蟹,不换

  • 資深大佬 : NeoChen

    @JJstyle 我看别人打这个截图都打了码,所以好奇

  • 資深大佬 : himself65

    https://www.sohu.com/a/49778666_222118

    题主小心点啊

  • 主 資深大佬 : JJstyle

    @NeoChen
    @himself65 多谢提醒,我怎么现在无法编辑也不能 append?一个序列号,不至于被别人搞吧?购买 /维修信息无所谓,买了 4 年基本没处啥幺蛾子

  • 資深大佬 : ila

    linux 的 docker 才是原生,其他的都是旁门左道
    (ー`´ー)

  • 資深大佬 : miao1007

    试试 nomad 跑 raw exec

  • 資深大佬 : 9yu

    @ila 是的,Docker Desktop 就是不行,必须在虚拟机上跑 docker 才舒服。

  • 資深大佬 : luckyrayyy

    吃惊,我的开发环境都在 docker 里面,改天试试对比测试

  • 資深大佬 : 9yu

    我做了基于 Alpine Linux 的装了 Docker 和 Docker Compose 的 Vagrant 镜像,自己的开发环境在上面,主要是配合 Vagrantfile 修改 IP 和挂载目录异常方便。
    https://github.com/mayocream/alpine-box

  • 資深大佬 : ghui

    最近在研究在 docker 里编 chromium,有同样的问题

  • 資深大佬 : jamesxu

    都是在服务器上跑的

  • 資深大佬 : Vegetable

    docker 是真的费电…

  • 資深大佬 : zealic

    老实说,Docker 不是你这么用的。
    Volumes 直接挂载进 docker 的虚拟机自然慢,
    正常的开发模式应该是,本机使用正常的本地环境,nodejs,webpack,vue-cli 都使用 homebrew 安装的版本。

    Docker 仅仅在测试构建镜像、持续集成,发布版本,以及运行发布的版本时需要。
    这是应用开发部分。

    中间件部分如 ,部分轻量级的则可以使用 docker 运行。
    部分较重量级的如 ElasticSearch 则建议部署到单独的机器上。

  • 資深大佬 : qfdk

    你姿势不正确吧 同样配置 docker 流畅

  • 資深大佬 : Lonely

    推荐在虚拟机里用的 docker,for mac 版不好使。

  • 資深大佬 : xuanbg

    我原先也是用 Docker Desktop,各种难受……忍无可忍就上虚拟机了。Linux 虚拟机上面装 Docker 各种舒服

  • 主 資深大佬 : JJstyle

    @zealic 所以最根本的原因是 macOS 不是 linux kernel,我还是相信不少 linux 用户在本地环境使用 docker 的

  • 資深大佬 : tulongtou

    @zealic 老实说,蛮多人把 docker 当作开发环境,本地目录挂载进去的。我也不喜欢这样套娃的方式,还是 brew 安装舒服

  • 資深大佬 : CEBBCAT

    Docker Desktop 不也是虚拟机吗?还是我记错了?

  • 主 資深大佬 : JJstyle

    @qfdk 真假呀老哥?我一直认为自己已经尽最大智慧去优化了,奈何收效甚微

    @xuanbg 虚拟机对于资源占用如何?我好像还未在我的 mac 上用过虚拟机

  • 主 資深大佬 : JJstyle

    @CEBBCAT 是的,但是在虚拟机里跑 docker,和 docker 自己提供虚拟机,似乎不一样

  • 資深大佬 : zst

    可以去图床把图删了

  • 資深大佬 : insert000

    我也是 mac,docker desktop 经常启动卡死,也不知道为什么,有很多奇怪问题,然后自己菜也找不到原因,只能重启

  • 主 資深大佬 : JJstyle

    @zst 你说的对,我去图床上把图片改了

  • 主 資深大佬 : JJstyle

    @insert000 这我到没遇到过

  • 資深大佬 : minbaby

    https://github.com/docker/for-mac/issues/3677
    mac 版本的 docker,只处于能用的阶段。。。文件读写太差了

    —————————————————————————
    $ docker run –rm -it -w /pwd alpine time dd if=/dev/zero of=speedtest bs=1024 count=100000
    100000+0 records in
    100000+0 records out
    real 0m 0.37s
    user 0m 0.03s
    sys 0m 0.31s

    —————————————————————————

    $ docker run –rm -it -v “$(PWD):/pwd:delegated” -w /pwd alpine time dd if=/dev/zero of=speedtest bs=1024 count=100000
    100000+0 records in
    100000+0 records out
    real 0m 31.82s
    user 0m 0.34s
    sys 0m 3.04s

    —————————————————————————

    $ docker run –rm -it -v “$(PWD):/pwd:cached” -w /pwd alpine time dd if=/dev/zero of=speedtest bs=1024 count=100000
    100000+0 records in
    100000+0 records out
    real 0m 34.16s
    user 0m 0.21s
    sys 0m 3.78s

    —————————————————————————

    https://github.com/docker/for-mac/issues/3677#issuecomment-604840556

    8sec on a RaspberryPi
    vs
    50sec on a Macbook Pro

    Dump your macbooks and start carrying a RPi.

  • 資深大佬 : xuzhzzz

    你公司没有测试服务器? 我手上大大小小十台左右。

  • 資深大佬 : dodo2012

    我现在 docker 就是用来跨平台打包用的。。

  • 資深大佬 : qoras

    docker 在 mac 上好像很多 bug, 之前试着玩了下, 改了默认内存大小都各种问题

  • 主 資深大佬 : JJstyle

    @minbaby 确实是磁盘 IO 问题太大了!
    @xuzhzzz 这个帖子跟测试武器有什么关系
    @qoras 主要是慢,难以忍受

  • 資深大佬 : kljsandjb

    mac docker 本质还是虚拟机…

  • 資深大佬 : qfdk

    docker 我本地跑数据库测试还是可以的的 你要是运行开发环境这样的 docker 不是干这个用的. 找到适合的方法就行最好别乱挂载硬盘过去。免得意外了。别问我怎么知道的…

  • 資深大佬 : garlics

    window docker 也很慢

  • 資深大佬 : ODD10

    虚拟机占用太大,mac docker 挂载太慢,都有缺点。

    openwrt 编译,虚拟机就能占 40 个 G 以上; docker 挂载磁盘编译速度上不去

  • 資深大佬 : creedowl

    挂载目录的 io 太差了,不挂载的倒还好

  • 資深大佬 : JackyCDK

    mac 上 docker 用不了 host 模式是真的难受…不过单纯开发还是可以的,问题是 yarn run dev 这种操作一般不都是直接跑本机的吗…

  • 主 資深大佬 : JJstyle

    @JackyCDK 难道是我有强迫症吗,我是要么都用 docker 要么都不用

  • 資深大佬 : charlie21

    docker, the new mac.

  • 資深大佬 : dreamtrail

    我觉得 docker 就是给应用打包的,其他都不好用

  • 資深大佬 : winglight2016

    mac 上 docker 的确很慢,跟 host 性能无关的慢。上说得对,docker 仅用于快速部署测试,运行开发环境就太难了。

  • 資深大佬 : v2Geeker

    更新最新版本,同时不要打开 kubenetes~ 这样就好很多啦。

  • 資深大佬 : xiaolanger

    太耗资源了,我也放弃了,用了开发机远程

  • 資深大佬 : MengiNo

    同感,后来搞了一个 1c2g,用 vsc remote 舒服了 …

  • 資深大佬 : vanishcode

    mac docker 非 docker,是虚拟机里跑 docker XD

  • 資深大佬 : takashiki

    目前 vsc remote 或者 win10 wsl2 体验都还不错

  • 資深大佬 : viruser

    Docker 用了 Linux 的特性,在其他 OS 下不一定会好用。BSD 系应该用自己的 Jail

  • 資深大佬 : xcstream

    docker 是给 python java 这种版本复杂的语言提供方便的,node 就不用了

  • 資深大佬 : littlewing

    mac 上的 docker 就是装了个 linux 虚拟机,然后在虚拟机上跑 docker,能不慢吗

  • 資深大佬 : hanxiV2EX

    自己装个 docker 虚拟机吧,推荐试试 rancheros

  • 資深大佬 : mritd

    折腾这么久 docker,说实话我只再运行期使用,用它来开发也不知是怎么玩的

  • 資深大佬 : JackyCDK

    @JJstyle 我一般是数据库啥的扔 docker 里面,开发环境在实体机

  • 資深大佬 : leohxj

    @9yu 意思 mac 下用 Vagrant 开虚拟机运行 docker, 比 docker for mac 更『快』?

  • 資深大佬 : leohxj

    @zealic 那开发环境想要统一环境,用虚拟机?

  • 資深大佬 : llitfkitfk

    https://t.me/dockertutorial/85505

  • 資深大佬 : llitfkitfk

    @llitfkitfk 群里聊天时给了一些 docker desktop 的使用建议 不再搬运到这里了

  • 資深大佬 : cz5424

    一般开发环境( node 、python,go 之类的)建议抛弃 docker 直接用,毕竟常用而且经常重启加上销毁容器重建耗时。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具