“一直以来都在使用Docker进行开发,docker-composer.yml的环境容器编排带来了极大的便利。然而,随着电脑上使用的软件越来越多,启动Docker-Desktop的速度慢如蜗牛,原本16G的内存也承受着巨大的压力。于是,不得不面临一个选择:是换电脑还是换环境?于是开始借助Google的大法,用OrbStack的作为替代。”

OrbStack

[OrbStack] OrbStack 的使用 - 图1

“界面一如既往的简洁,在Twitter上,有人这样说:OrbStack的出现就是为了解决macOS上Docker Desktop一直为人所诟病的几个问题——速度慢、体积重、资源消耗巨大。现在,我们可以享受到更加流畅、轻便、高效的体验了!”

注意: OrbStack 不支持Windows 和Linux,只支持macOS

具体的特性(摘自网上):

  • ⚡**快如闪电 - 2 秒内启动,优化网络 (45 Gbps) 和磁盘、Rosetta x86 模拟。**
  • ⚡**️ 轻量 - 低CPU和磁盘使用率,使用较少的内存,原生的Swift应用程序,对电池友好。**
  • ⚡****轻松简单 - 最小化设置,双向命令行界面集成和文件访问,支持VPN和远程VS Code,SSH代理转发。
  • ⚙️** 强大 - 使用强大的网络功能,无缝运行Docker容器和完整的Linux发行版(即将支持Kubernetes)。通过我们的菜单栏应用程序,可以从任何地方管理容器。**

OrbStack 安装

  1. 安装 还是 brew 搞定
  1. brew install orbstack
  1. 先别急着卸载 docker-desktop 安装 orbstack 完毕以后 打开 orbstack软件,并且打开 docker-desktop Orbstack会询问是否合并 之前的容器和挂载的目录
  2. 点击合并以后 就剩下漫长的等待了

:::success 注意: 合并的时候 不知道是什么原因,编排的 lnmp 中只 合并移动了部分的容器.于是缺少的一些 容器 又重新构建了一下

:::

OrbStack 使用:

  1. 常用的docker 命令基本没有变化,在菜单栏中增加了方便启动暂停的操作

[OrbStack] OrbStack 的使用 - 图2

  1. OrbStack 也提供了一些管理命令 orbctl,可以直接在命令行使用。
  1. $ orbctl help
  1. OrbStack 在创建了 Ubuntu 等 Linux 镜像之后也可以使用 SSH 连接
  1. $ orb -m ubuntu -u rootorb -m ubuntu -u root uname -a
  1. 之前在容器编排的时候编排了 portainer 现在可以注释了
  1. # portainer:
  2. # image: portainer/portainer:latest
  3. # ports:
  4. # - "9091:9000"
  5. # volumes:
  6. # - /var/run/docker.sock:/var/run/docker.sock:cached
  7. # - ./portainer/:/data:cached
  8. # networks:
  9. # docker_net:
  10. # ipv4_address: ${PORTAINER_IP}

OrbStack 为 Docker compose 服务和容器都默认绑定了域名,可以通过访问orb.local 来查看可访问的服务!

[OrbStack] OrbStack 的使用 - 图3

例如: 在 OrbStack 中启动一个 名为 web 的 Nginx 容器,那么就会绑定一个 web.orb.local 的域名。OrbStack 通过 mDNS 来实现域名到 IP 的解析,可以通过如下命令查看域名解析的 IP:

  1. dns-sd -Q nginx.pfinal-docker-lnmp.orb.local

[OrbStack] OrbStack 的使用 - 图4

这功能感觉贼拉实用

  1. Docker 的一些镜像国内拉取很慢,那就上配置加速,Setting>docker 动手贴上去就行
  1. {
  2. "ipv6": true,
  3. "registry-mirrors": [
  4. "http://hub-mirror.c.163.com",
  5. "https://registry.docker-cn.com",
  6. "https://mirror.baidubce.com",
  7. "https://kn77wnbv.mirror.aliyuncs.com",
  8. "https://y0qd3iq.mirror.aliyuncs.com",
  9. "https://6kx4zyno.mirror.aliyuncs.com",
  10. "https://0dj0t5fb.mirror.aliyuncs.com",
  11. "https://docker.nju.edu.cn",
  12. "https://kuamavit.mirror.aliyuncs.com",
  13. "https://y0qd3iq.mirror.aliyuncs.com",
  14. "https://docker.mirrors.ustc.edu.cn"
  15. ]
  16. }

OrbStack 虚拟机:

[OrbStack] OrbStack 的使用 - 图5

OrbStack 也提供了创建虚拟机的功能,做一些其他的尝试,比如说:

搞一个 OrbStack + Ubuntu虚拟机:可以选择使用Ubuntu 20.04.6 LTS虚拟机,配合VSCode和Mojo插件,来搭建Mojo开发环境。还是很方便的。

其他的使用方式和 docker-desktop 大差不差

:::success 最后的要点

之前 docker-Desktop 没法使用host 网络,搭建 redis 集群 能搞到吐血,OrbStack 支持 host 网络,所以 可以省掉很多麻烦.

后续一边使用一边总结,目前最大的使用的特点就是一个字解决了我目前的一个痛点,有和我一样的 可以使用起来了

:::