“一直以来都在使用Docker进行开发,docker-composer.yml的环境容器编排带来了极大的便利。然而,随着电脑上使用的软件越来越多,启动Docker-Desktop的速度慢如蜗牛,原本16G的内存也承受着巨大的压力。于是,不得不面临一个选择:是换电脑还是换环境?于是开始借助Google的大法,用OrbStack的作为替代。”
OrbStack
“界面一如既往的简洁,在Twitter上,有人这样说:OrbStack的出现就是为了解决macOS上Docker Desktop一直为人所诟病的几个问题——速度慢、体积重、资源消耗巨大。现在,我们可以享受到更加流畅、轻便、高效的体验了!”
注意: OrbStack 不支持Windows 和Linux,只支持macOS
具体的特性(摘自网上):
- ⚡**️ 快如闪电 - 2 秒内启动,优化网络 (45 Gbps) 和磁盘、Rosetta x86 模拟。**
- ⚡**️ 轻量 - 低CPU和磁盘使用率,使用较少的内存,原生的Swift应用程序,对电池友好。**
- ⚡**️ **轻松简单 - 最小化设置,双向命令行界面集成和文件访问,支持VPN和远程VS Code,SSH代理转发。
- ⚙️** 强大 - 使用强大的网络功能,无缝运行Docker容器和完整的Linux发行版(即将支持Kubernetes)。通过我们的菜单栏应用程序,可以从任何地方管理容器。**
OrbStack 安装
- 安装 还是 brew 搞定
brew install orbstack
- 先别急着卸载 docker-desktop 安装 orbstack 完毕以后 打开 orbstack软件,并且打开 docker-desktop Orbstack会询问是否合并 之前的容器和挂载的目录
- 点击合并以后 就剩下漫长的等待了
:::success 注意: 合并的时候 不知道是什么原因,编排的 lnmp 中只 合并移动了部分的容器.于是缺少的一些 容器 又重新构建了一下
:::
OrbStack 使用:
- 常用的docker 命令基本没有变化,在菜单栏中增加了方便启动暂停的操作
- OrbStack 也提供了一些管理命令 orbctl,可以直接在命令行使用。
$ orbctl help
- OrbStack 在创建了 Ubuntu 等 Linux 镜像之后也可以使用 SSH 连接
$ orb -m ubuntu -u rootorb -m ubuntu -u root uname -a
- 之前在容器编排的时候编排了 portainer 现在可以注释了
# portainer:
# image: portainer/portainer:latest
# ports:
# - "9091:9000"
# volumes:
# - /var/run/docker.sock:/var/run/docker.sock:cached
# - ./portainer/:/data:cached
# networks:
# docker_net:
# ipv4_address: ${PORTAINER_IP}
OrbStack 为 Docker compose 服务和容器都默认绑定了域名,可以通过访问orb.local 来查看可访问的服务!
例如: 在 OrbStack 中启动一个 名为 web 的 Nginx 容器,那么就会绑定一个 web.orb.local 的域名。OrbStack 通过 mDNS 来实现域名到 IP 的解析,可以通过如下命令查看域名解析的 IP:
dns-sd -Q nginx.pfinal-docker-lnmp.orb.local
这功能感觉贼拉实用
- Docker 的一些镜像国内拉取很慢,那就上配置加速,Setting>docker 动手贴上去就行
{
"ipv6": true,
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://registry.docker-cn.com",
"https://mirror.baidubce.com",
"https://kn77wnbv.mirror.aliyuncs.com",
"https://y0qd3iq.mirror.aliyuncs.com",
"https://6kx4zyno.mirror.aliyuncs.com",
"https://0dj0t5fb.mirror.aliyuncs.com",
"https://docker.nju.edu.cn",
"https://kuamavit.mirror.aliyuncs.com",
"https://y0qd3iq.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
OrbStack 虚拟机:
OrbStack 也提供了创建虚拟机的功能,做一些其他的尝试,比如说:
搞一个 OrbStack + Ubuntu虚拟机:可以选择使用Ubuntu 20.04.6 LTS虚拟机,配合VSCode和Mojo插件,来搭建Mojo开发环境。还是很方便的。
其他的使用方式和 docker-desktop 大差不差
:::success 最后的要点
之前 docker-Desktop 没法使用host 网络,搭建 redis 集群 能搞到吐血,OrbStack 支持 host 网络,所以 可以省掉很多麻烦.
后续一边使用一边总结,目前最大的使用的特点就是一个字快 解决了我目前的一个痛点,有和我一样的 可以使用起来了
:::