跳到文章

Lima下的docker使用私有镜像仓库

lima 是一个在 mac 上运行虚拟的开源项目,它内置了许多模版,可以很方便的运行 docker、containerd、podman等容器管理工具,也可以运行 archlinux、almalinux 等 linux 系统。

我使用它在 mac 上运行 docker,用来替代 docker 官方的 docker desktop,后者很不好用。

在研发测试过程中,总需要使用到私有仓库,lima 下 docker 的私有仓库配置有些不同。

首先 lima 运行的 docker 默认使用的是 rootless 模式,也就是不需要 root 权限的模式,这个问题就转换成了,rootless 的 docker 如何使用私有仓库。

在需要 root 的 docker 中,配置私有镜像仓库,需要修改 /etc/docker/daemon.json 配置文件,加入如下内容

{
  "insecure-registries" : ["myregistrydomain.com:5000"]
}

在 rootless 的 docker 中,需要修改 ~/.config/docker/daemon.json 配置文件,加入上面的内容。

在 lima 中,lima 是先创建了一个 ubuntu 的虚拟机,然后在虚拟机中安装 docker,所以想要修改这个配置,需要先进入虚拟机,使用下面的命令

limactl shell docker

创建 ~/.config/docker/daemon.json 文件,可能没有 ~/.config/docker 目录,需要先创建目录,修改文件之后,重新启动docker。

limactl stop docker
limactl start docker