macOS环境下的轻量化docker安装

2024.01.26 更新:

最近了解到一个新的软件 OrbStack 可以替代 Docker Desktop,官方介绍:OrbStack is the fast, light, and easy way to run Docker containers and Linux. Develop at lightspeed with our Docker Desktop alternative.

基本上不需要多余的配置就可以直接使用docker和创建Linux虚拟机(命令行版本),UI美观,操作比较无脑,占用也较小,值得尝试。

OrbStack

最大的优点其实是Apple M系列芯片原生使用,并且可以模拟X86_64设备;要说缺点的话,就是不开源,企业用户付费,但个人用户免费。

前言

如果你像博主一样不喜欢docker官方客户端的“臃肿”,仅仅想要一个单独且纯粹的docker服务而不需要图形化界面;或是单纯想要尝试一下新事物、折腾一下新方法,那么欢迎你阅读本篇文章。

由于博主使用的是macOS,所以仅有Mac下的一篇探索记录。如有遗漏错误,欢迎评论区批评指出。

本文电脑环境:

系统:macOS Ventura 13.0.1 (22A400)

处理器:Intel Core i5(不确定 Apple M系列 处理器是否通用)

准备工作

  • 安装Homebrew

    Homebrew是macOS平台下使用最多的包管理器,这是它的官方安装教程。但是通常来说,我们只需要在确保网络畅通的情况下输入以下命令即可:

    1
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装软件包

  • 使用Homebrew安装docker。

    安装最基础的docker服务,也很简单,一句命令搞定:

    切记不要使用 brew install docker --cask 命令,这将安装docker在macOS平台下的图形化软件!!!

    1
    brew install docker
  • 使用Homebrew安装Colima

    Colima 的名字取自 Container on Lima。Lima 是一个虚拟机工具,可以实现自动的文件共享、端口转发以及 containerd。

    Colima 实际上是通过 Lima 启动了名为 colima 的虚拟机。它帮我们简化了使用流程,当然也少了一些可定制性。如果你有兴趣,当然也可以使用 Lima 自己手动来完成这一过程,可定制性更高,但更复杂。

    安装同样很简单,也是一句命令搞定:

    1
    brew install colima

    这个下载时间应该会长很多,是正常情况。通过命令查询可以看到Colima的依赖就比较多。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    $ brew deps colima
    bdw-gc
    ca-certificates
    capstone
    gettext
    glib
    gmp
    gnutls
    guile
    jpeg-turbo
    libevent
    libidn2
    libnghttp2
    libpng
    libslirp
    libssh
    libtasn1
    libtool
    libunistring
    libusb
    lima
    lz4
    lzo
    m4
    ncurses
    nettle
    [email protected]
    p11-kit
    pcre2
    pixman
    pkg-config
    qemu
    readline
    snappy
    unbound
    vde
    xz
    zstd

启动Colima

安装官方文档介绍,创建docker运行环境只需要一句最简单的命令:

1
colima start

或许这也是作者专门对docker做了流程优化,这也是我推荐使用colima的原因,足够简单。

Colima运行

开机自启

2023.12.20 更新:

根据评论区老哥反馈,Colima已经支持开机自启。

方法也很简单,由于我们是使用brew安装的colima,直接使用brew service接管即可。

开机自启

1
brew services start colima

如果你是使用其他方式进行安装,请善用搜索引擎。或者安装评论区老哥的提示,添加–foreground参数进行设置(未测试)。

1
colima start –foreground

虽然 Colima 到目前为止仍没有提供这样的功能,但正在开发中

另外,对于简单的单容器docker使用,我们也可以自己创建shell脚本并设置启动项来达到一样的效果:

  • 创建shell脚本:

    1
    2
    touch colima.sh
    chmod +x colima.sh
  • 修改脚本内容:

    1
    vim colima.sh
    1
    2
    # 将启动命令写到colima.sh中即可
    colima start
  • 添加到登录项:

    登录项

  • 设置默认打开方式,设置成你的终端程序:

    默认iterm2打开

享受

就是如此简单,docker服务就运行起来了。输入 docker ps -a 简单测试一下就知道运行成功没有。如果仍有错误,请继续看下去。

docker运行正常

排错

docker无服务

图中表示docker服务并没有运行起来,这是colima配置有问题。可以尝试重新安装Colima,或者重新运行 colima start 检查是否解决。

额外

  • 可以进一步安装 docker-compose 使用。

    1
    brew install docker-compose
  • 如果要运行多个容器,可以对Colima创建的容器进行配置修改:

    Colima 的默认资源配置是 2 CPU / 2 G 内存,某些情况下会不够用。比如用 docker-compose 启动三个 mysql 实例,就会发生至少有一个实例无法正常启动的情况。

    这时可以用 -c-m 的启动参数,或是 colima start --edit 修改默认配置。

感谢

Colima

Lima

Docker