这两天机器刚到,首先测试了一波 Docker
,我本身是搞 PHP
的,所以拿 Laradock 测试了一番。
运行了几个容器, Nginx 、MySQL (不支持)、mariadb 、redis 、elasticsearch 、kibana
除了 MySQL 不支持其他都支持。 所以我们可以使用 mariadb 来进行代替。 另外 workspace nvm 一直报错,workspace 容器装不了 node 和 yarn,所以需要去掉 设置为 false WORKSPACE_INSTALL_NODE=false
、 WORKSPACE_INSTALL_YARN=false
不知道为啥 node 就是装不上,已经设置代理、镜像 hosts 文件也改了就是不生效
1
Damenly1 2020-12-25 09:18:05 +08:00
但是 brew 很多包都是有问题的。。rust nightly 是可以跑了,但是 brew 上还没跟上,然后导致 virt-manager 安不上。qemu 的主线其实也可以手动编译了,brew 也没跟上。。折腾这种包依赖就很难受
|
2
yaphets666 2020-12-25 09:18:37 +08:00 59
不要自己骗自己了
|
3
dinghao188 2020-12-25 09:19:54 +08:00 5
机器刚到说这话,情有可原
|
5
iicoder OP @dinghao188 我还好,docker 能用就行,我折腾的不多
|
6
whileFalse 2020-12-25 09:23:32 +08:00
可歇着吧……你跑的 Docker 架构都不一样……从公司的私有仓库下个镜像都跑不起来……
|
7
iicoder OP @whileFalse 我目前可以跑,反正我们都是 composer
|
8
hjc4869 2020-12-25 09:28:43 +08:00 via Android 2
用 M1 开发出来的都是 ARM docker 镜像,得找个 AWS 之类的服务商才能部署…
|
9
joe7z 2020-12-25 09:29:36 +08:00
所以說買之前需要看自己的需求。有的人夠用了,有的人不能當作工作機
|
11
ersic 2020-12-25 09:32:05 +08:00
干前端的应该可以
|
12
acorngyl 2020-12-25 09:34:17 +08:00
不明白为什么都在本地打镜像,难道公司都没环境吗?我就是学习的时候装过一次 docker,后来连开都没开过,都是哪个环境用,ssh 上去,远程操作。
|
14
tees 2020-12-25 09:37:25 +08:00
用这个镜像 mysql/mysql-server
|
15
laoertongzhi 2020-12-25 09:39:16 +08:00
喜闻乐见
|
17
whileFalse 2020-12-25 09:48:25 +08:00 1
@joe7z
> 所以說買之前需要看自己的需求。有的人夠用了,有的人不能當作工作機 你说的对。LZ 搞 PHP 的弄 Docker 跑的挺开心。我是运维,我用 Docker 跟 LZ 就不一概念,我用 M1 Dockerfile 都未必能调通。 |
18
YouLMAO 2020-12-25 10:04:46 +08:00 via Android
惊,你们分布式测试,不开 20 个个容器测试的,在 m1 单机模拟集群,而是单机模拟单机有啥好模拟的,装 Windows 算了
|
19
wengych 2020-12-25 10:10:14 +08:00 1
Java 开发,已经用了两周,日常 IntelliJ IDEA 双开到三开,没任何问题。
|
20
victorzhou6 2020-12-25 11:20:28 +08:00
@acorngyl 确实,打 docker 是 ci 的一环,公司有专用的 build 机
|
21
bazingarick7 2020-12-25 11:26:44 +08:00
哈哈我觉得好好用,开发 java 也还行。从 16 到 M1 。可太喜欢了。就是每天日常几次死机。
|
22
MaxLi77 2020-12-25 11:44:05 +08:00
可能我们开发的不是同一种东西
|
24
wengych 2020-12-25 11:54:50 +08:00 2
|
25
wengych 2020-12-25 12:06:19 +08:00
每个人的工作场景都不同,解释下为什么我用 M1 能够完成完整工作流
主要工作工具: 1. IntelliJ IDEA,Java 开发必备 2. VS Code 阅读同事的 C++代码,查接口 3. MacVim 日常文本编辑 4. 沟通工具:微信+企业微信 5. Music: Spotify 6. 浏览器:Safari 工作用途,chrome 查阅资料,Firefox 强制代理 7. Terminal 8. 1Password 9. Tunnelblick 配合 Surge 解决网络流量分流,办公流量和那啥区分开 本地开发基本不用 MySQL,而是使用 SpringBootTest 启动一个容器,通过 org.zapodot:embedded-db-junit-liquibase 跑 in mem db 进行测试。集成测试环境有 aws RDS 。 M1 的稳定性确实不行,上周二、周三都遇到了死机重启的情况,所以我目前遇到机器卡顿的情况就直接重启一次,死机的情况暂时没有复现了。 |
26
Administrat0r 2020-12-25 12:37:18 +08:00 1
1. 主用 node,工作上用到的库都没问题,egg koa graphql pm2 这些
2. 编译了原生的 node,有些情况下性能反而没转译的高 3. mongodb 转译可运行,目前没发现有啥问题 3. 浏览器 safari 和 chrome 都没问题,目前 Safari 用得多 4. vscode 有 inside 原生支持,stable 的转译也可用,不过原生的性能要好很多 5. vscode 目前有个 bug 是填写 git commit 的备注如果是用输入法的话,此时 git 自动刷新会使输入失去焦点,导致无法输入,这个全版本都有的问题 6. 微信可用,但经常会崩,现在基本至少一天一次 7. 性能叼,同一个前端项目 mbp i5+16g 编译要 100 秒以上,m1 mini 8g 只要 90 秒 8. 不发热,比我的心还冷 总结:香的很 |
27
chrisia 2020-12-25 13:30:33 +08:00
不是有个 mysql-server 支持 arm 吗?
|
29
jin5354 2020-12-25 14:14:34 +08:00
@Administrat0r 常态比 37° 还要低?
|
30
timepast 2020-12-25 14:15:26 +08:00 via Android
@bazingarick7 死机???
|
31
keepeye 2020-12-25 14:18:00 +08:00 1
标题应该改成:M1 可以当我的主力开发了
|
33
Administrat0r 2020-12-25 14:27:23 +08:00
@jin5354 没有测温工具 反正手摸上去都是冰冷的 相反我之前的 mbp 一直都是温热煎蛋状态
|
34
wengych 2020-12-25 14:35:37 +08:00
@hjc4869 docker build 都是在 ci 服务器上跑,和本地有啥关系呢?作为一个写了超过 100+Dockerfile 、超过 2w 行 yaml 的新手,不明白你为什么有这样的疑问。
|
38
chrisia 2020-12-25 14:40:16 +08:00
@wengych 还有会不会有从私有服务器 pull x86 镜像的情况,因为目前好像不支持直接运行 x86 镜像,倒是可以打包成 x86 镜像
|
42
lqf96 2020-12-25 14:52:04 +08:00
https://docs.docker.com/buildx/working-with-buildx/
目前跨架构的 docker contrainer 需要开启 buildx 功能,因为是 qemu 的关系性能可能会下降,但应该是可以的... |
43
hjc4869 2020-12-25 14:54:06 +08:00
@wengych 所以你的工作流到底是怎样的?修一点小问题,本地 Dockerfile 改了一个字都要去 CI 上 build 然后跑测试吗?
|
44
wengych 2020-12-25 14:58:45 +08:00
@hjc4869 我一个臭写 java 的为什么要本地 docker build ?一个 java 进程的问题你都要扯 docker 进来?
|
50
bsg1992 2020-12-25 15:39:57 +08:00
@wengych 依赖服务,数据库,缓存 ,mq 之类的东西装在 docker 方便,我私下里也有自己的项目需要维护本地环境肯定重要的,还有不是每个人搞 java php 的。
|
51
wengych 2020-12-25 15:41:11 +08:00 via iPhone
@bsg1992 是的你说的没错,每个人场景不同,对于你来说也许当不了,但不影响我已经 996 用了 10 天 m1
|
52
wengych 2020-12-25 15:42:15 +08:00 via iPhone
@bsg1992 另外我一直很不习惯把所有东西都跑本地,很重,能用 ut 搞定的就尽量在一个进程内搞定测试。
|
53
dai875939260 2020-12-25 15:43:43 +08:00
你们的 mac 都是开 docker 部署数据库,nginx 这些的么,docker 吃内存耗电量又大,平时我都不敢开
|
54
bsg1992 2020-12-25 15:55:23 +08:00
@wengych 我这里需要跑多个区块链节点测试程序 还要跑智能合约,必须要跑 docker 。这种情况本地环境优于服务器太多了
|
57
felixcode 2020-12-25 16:01:43 +08:00 via Android
所以买之前还是得考虑好了,别人好用是因为只跑个 ide 和浏览器,docker 不好用,虚拟机支持不那么好,打定主意以后只做本地开发不运行服务再买 m1 吧,别被人误导了。
|
60
felixcode 2020-12-25 16:35:12 +08:00
|
61
Badlion 2020-12-25 16:49:15 +08:00 via iPhone
@felixcode 我用 16 寸 64g 时都不觉得需要安装 docker,docker 大都是用来跑服务的,跑在本地合适吗?如果 macbook 盒盖了呢?而且我有多台 mac 和 windowspc 都需要共享服务呢?
|
62
felixcode 2020-12-25 16:52:36 +08:00
@Badlion
所以你要运行个数据库用来调试程序,或者开发个 WEB 调试在服务器上的部署的话,就得呆在家里,或者连 VPN 到你的 NAS ? |
65
hugebox 2020-12-25 17:23:10 +08:00
可以看看 java 开发评测,基本没什么大问题。当然前提是你公司用 jenkins 推包到服务器,否则本地 ARM 打的包不知道服务器运行会不会有问题。
|
67
ShadowPower 2020-12-25 17:34:26 +08:00
@bsg1992 两年前我做过这个,用的 HyperLedger,那玩意的 chaincode (类似于智能合约)跟 Docker 是绑死的……
在本地调试调试智能合约,还真的比用服务器跑着调要来得方便 那会不用 M1,直接用 Linux 当开发环境,就已经有很多坑了,要是用这个,还不知道会有多少坑 |
70
wengych 2020-12-25 19:06:45 +08:00 1
@hiw2016 https://webcatalog.app/ 用这个 app 将 web 站点生成为桌面 app,也有命令行的工具 nativefier https://github.com/jiahaog/nativefier,一个作者
|
71
holulu 2020-12-25 19:08:52 +08:00
今年开始已经不在本地机跑容器了,都是直接用公司的 k8s 开发集群作为开发环境。换了 M1 的 MBA,最主要感受就是没噪音,不烫手。
|
74
xuanbg 2020-12-25 19:38:29 +08:00
docker 架构不同问题倒也不是很大,大家生产环境用的镜像也不会用你的 mbp 上面 build 的镜像。
我们嫌弃上传镜像太慢,就直接传打好的包和 dockerfile 到目标环境再 build 镜像并运行,根本不用镜像仓库的。 |
75
googls 2020-12-25 20:45:38 +08:00
公司的 8 核 8gVPS 够用🐶
mac 目前就跑 datagrip+代码编辑器+postman |
76
BoiledEgg 2020-12-25 22:46:07 +08:00
搞开发还是有不少坑的,别说后端了,前端搞搞 js 的都有坑,比如如果项目用到了 sentry,会发现 sentry cli 需要自己编译一个 arm 的,不然 sentry-webpack-plugin 跑不起来。
|
77
eggcn 2020-12-26 04:31:23 +08:00
好了,说了这么多那么问题来了~不要笑我,你们说的 M1 是啥?(黑人问号脸)
|
78
MaverickLee 2020-12-26 10:37:09 +08:00
@eggcn M1 艾布拉姆斯(doge)
|
79
7gugu 2020-12-26 12:21:46 +08:00 via iPhone
有点心动了
|