macOS环境下的轻量化docker安装
前言
如果你像博主一样不喜欢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
openssl@1.1
p11-kit
pcre2
pixman
pkg-config
qemu
readline
snappy
unbound
vde
xz
zstd
启动Colima
安装官方文档介绍,创建docker运行环境只需要一句最简单的命令:
1 | colima start |
或许这也是作者专门对docker做了流程优化,这也是我推荐使用colima的原因,足够简单。
开机自启
虽然 Colima 到目前为止仍没有提供这样的功能,但正在开发中。
另外,对于简单的单容器docker使用,我们也可以自己创建shell脚本并设置启动项来达到一样的效果:
创建shell脚本:
1
2touch colima.sh
chmod +x colima.sh修改脚本内容:
1
vim colima.sh
1
2# 将启动命令写到colima.sh中即可
colima start添加到登录项:
设置默认打开方式,设置成你的终端程序:
享受
就是如此简单,docker服务就运行起来了。输入 docker ps -a
简单测试一下就知道运行成功没有。如果仍有错误,请继续看下去。
排错
图中表示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
修改默认配置。
感谢
作者:Yuesir
本文链接:https://vccv.cc/article/docker-macos.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议,转载请注明出处!