标签:orbstack

浏览模式: 标准 | 列表 | 图文
OrbStack的端口覆盖了Local端口导致本地Mysql不能启动

OrbStack的端口覆盖了Local端口导致本地Mysql不能启动

OrbStack是个好软件,他让虚拟机、Docker的管理变得更容易了一些,如果你不太爱在mac上使用docker,那orbstack的虚拟机功能,也是值得你使用的。他不像ubuntu官方的虚拟机只能创建ubuntu系统,他支持几乎市面常见的操作系统,连openSUSE也支持,那就确实很方便了。

为了测试我本地开发的项目是否能够在debian上运行(主要是因为安装了playwright,才需要有此一举),在虚拟机里还安装了hestia,之所以没有装bt或者1panel,就是想着hestia比较轻量,而且也支持多用户权限。这点1panel和bt好象没有。 1panel反正就是容器,bt则是以root运行
然后hestia则因为安装了mysql和redis,正常情况下,我没感觉有问题,我本机用的是dbngin,启动着mysql和redis。
在安装更新重启后,orb先启动了。然后我本地测试代码时,dbngin中的mysql和redis就启动不了,说被占用。运行命令后发现:
lsof -i:6379
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
OrbStack 676 admin 118u IPv4 0x3b94fc9ad9f8ea2e 0t0 TCP localhost:6379->localhost:61448 (ESTABLISHED)
OrbStack 676 admin 122u IPv4 0xb6cd7e64818d058 0t0 TCP localhost:6379 (LISTEN)
OrbStack 676 admin 123u IPv6 0x8ec6c81483673ff9 0t0 TCP localhost:6379 (LISTEN)
OrbStack 676 admin 148u IPv4 0xf08e7374ce714e45 0t0 TCP localhost:6379->localhost:61449 (ESTABLISHED)
php82 47270 admin 11u IPv4 0x687126e3d6dc34f6 0t0 TCP localhost:61448->localhost:6379 (ESTABLISHED)
php82 47270 admin 12u IPv4 0x59a47292c1e5b7dc 0t0 TCP localhost:61449->localhost:6379 (ESTABLISHED)
redis 和 mysql OrbStack占用了。
找了一下配置发现不知道怎么关闭这个端口转发,后来运行orb config get xx ,xx可以乱写,如果他get不到,会获取全部的config,发现有这两条:
machines.expose_ports_to_lan: true
machines.forward_ports: true
由于我其实是想让他的端口被局域网访问的(orb多个虚拟机也有一个网段),所以expose_ports_to_lan就没有关闭,只关闭了forward_ports: orb config set machines.forward_ports false
再重启一下相应的虚拟机,发现6379没有数据了。
启动DBngin,也能够正常启动了。
至此,问题全部解决。
解决orbstack的 data.img 过大而导致无法备份的问题

解决orbstack的 data.img 过大而导致无法备份的问题

在Mac 用 orbstack 代替 docker 之后,确实方便不少,而且 orb 创建 debian/ubuntu 的虚拟机也很方便,几乎就是分分钟搞定。然后就可以通过 orb 进入默认的虚拟机,方便在 mac 上使用 linux 来进行操作很多事情。过多的 orbstack 的用法我就不讲了,网上有一堆堆的教程。

但随之带来的另一个问题就是,orbstack 几乎无法备份了。因为在他的目录下~/.orbstack/data/data.img,这个文件显示是8T,虽然说它是一个稀疏文件,然而却是很多软件不认,比如说 rsync。
你会发现你1T 的硬盘备着备着突然就磁盘满了。虽然`~/.orbstack/data/data.img`这个文件其实只有几 G 或者10几 G,但 rsync 认为他是8T,导致备份失败,所以在实际应用中,必须要加入 --exclude ".orbstack/data/data.img" ,否则备一次失败一次
看官方的 issue 中,也有不少人用苹果的time machine 备份也失败了。这真让人烦恼。官方也没有给出一个方法用来压缩成实际大小,这个 Parallels Desktop 和 virtual machine 好象都有。象 PD 默认创建的时候 可以指定大小,比如10G,实际使用中超过时,会随之增大,同时也可以压缩成实际大小(好象只支持 windows???记不太清)
如果 orb 也有这个功能就好了,就这样吧