news 2026/1/2 11:28:59

macOS上优雅运行Docker容器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
macOS上优雅运行Docker容器

什么是colima

colima主页

Colima(Container on Lima)是一个轻量级的容器运行时管理工具,专为macOS(同时也支持Linux)设计,提供了一种简单优雅的方式来运行容器。它基于Lima项目,后者为

macOS提供了类似WSL2的Linux虚拟机环境,具备自动文件共享和端口转发等特性。

Colima的主要特点包括:

支持多种芯片架构 - 完美支持搭载Intel和Apple Silicon芯片的Mac设备,以及Linux系统

简单的命令行界面 - 提供直观的CLI操作方式,并采用合理的默认配置

自动端口转发 - 智能处理容器端口映射,简化网络配置

卷挂载支持 - 支持在容器和主机之间共享文件系统

多实例管理 - 可以同时运行多个独立的Colima实例

灵活的运行时选择 - 支持多种容器运行时:

Docker(可选择性集成Kubernetes)

Containerd(可选择性集成Kubernetes)

Incus(支持容器和虚拟机)

如何使用colima

安装

安装colima

brew install colima

安装docker-cli

brew install docker

这里我们选择安装最基础的命令行版本,而不是图形化的Docker Desktop

安装Docker Compose以支持容器编排功能

brew install docker-compose

启动Colima

colima start ## 默认配置启动

colima start --kubernetes ## Kubernetes启动

colima start --cpu 1 --memory 2 --disk 10 ## 指定配置启动

colima start --help ## 查看启动配置

默认配置被保存在~/.colima/_templates/default.yaml

# CPU设置

cpu: 8

# 内存设置(以GiB为单位)

memory: 10

# 磁盘大小(以GiB为单位)

disk: 120

# 运行时选择:docker, containerd, incus

runtime: docker

# 是否启用Kubernetes

kubernetes:

enabled: false

# 虚拟机的卷挂载驱动

# virtiofs 仅限于 macOS 和 vmType vz。它是选项中最快的。

mountType: virtiofs

# 为虚拟机指定自定义磁盘镜像。

# 当未指定时,会从https://github.com/abiosoft/colima-core/releases下载适当的磁盘镜像

# 可以指定自定义磁盘镜像的文件路径来覆盖此行为。

diskImage: "/<thepath>/ubuntu-24.04-minimal-cloudimg-arm64-docker.qcow2"

# 虚拟机类型, vz 是 macOS 虚拟化框架,需要macOS 13及以上版本

vmType: vz

# 使用Rosetta进行amd64模拟(需要Mac M1以上和vmType vz)

rosetta: true

# 为虚拟机启用嵌套虚拟化(需要Mac M3以上和vmType vz)

nestedVirtualization: false

# docker daemon的配置,即`daemon.json`

# 例如,配置`registry-mirrors`

docker:

registry-mirrors:

- https://mirror.xxx.com

重启/停止

colima restart

colima stop

在k8s使用colima

colima start --kubernetes

一旦虚拟机成功启动,Docker命令行工具就会自动连接到Colima提供的Docker守护进程,此时我们就可以在Mac上正常使用所有Docker命令了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/18 0:09:15

多线程相关面试题-线程安全相关问题-锁相关问题

问题 1&#xff1a;什么是进程&#xff1f;什么是线程&#xff1f;二者的核心区别是什么&#xff1f; 问题 2&#xff1a;Java 中创建线程的三种方式是什么&#xff1f;分别举例说明。问题 3&#xff1a;start () 方法和 run () 方法的区别是什么&#xff1f;问题 4&#xff1a…

作者头像 李华
网站建设 2025/12/18 0:08:24

在亚马逊云上解决RDS、MariaDB 与 Aurora MySQL复制延迟实战指南

在高吞吐量的数据库系统中&#xff0c;复制延迟&#xff08;Replica Lag&#xff09;一直是个棘手的难题。在 MySQL 生态圈内&#xff0c;传统的异步复制架构由于其单线程应用事务的性能瓶颈&#xff0c;严重限制了从库&#xff08;Replica&#xff09;的处理能力 (1)。特别是在…

作者头像 李华
网站建设 2025/12/20 17:23:10

Java八股文合集来了,彻底解决一线大厂面试难题

纵观今年的技术招聘市场&#xff0c; Java 依旧是当仁不让的霸主 &#xff01;即便遭受 Go 等新兴语言不断冲击&#xff0c;依旧岿然不动。究其原因&#xff1a; Java 有着极其成熟的生态&#xff0c;这个不用我多说&#xff1b;Java 在 运维、可观测性、可监 控性方面都有着非…

作者头像 李华
网站建设 2025/12/29 4:47:33

5个实用技巧:轻松在Vim中查看文件属性

5个实用技巧&#xff1a;轻松在Vim中查看文件属性 【免费下载链接】vim-galore :mortar_board: All things Vim! 项目地址: https://gitcode.com/gh_mirrors/vi/vim-galore 作为一名Vim用户&#xff0c;你是否曾经需要快速了解文件的修改时间、大小或权限信息&#xff1f…

作者头像 李华
网站建设 2025/12/18 0:05:46

Unity网络请求终极指南:RestClient快速上手与实战技巧

在Unity开发中&#xff0c;处理网络请求是每个开发者都会遇到的挑战。传统的UnityWebRequest虽然功能强大&#xff0c;但代码结构往往复杂冗长。RestClient for Unity应运而生&#xff0c;这款基于Promise的REST和HTTP客户端彻底改变了Unity异步编程的游戏规则&#xff0c;让HT…

作者头像 李华
网站建设 2025/12/28 7:16:04

5分钟掌握SeedVR2-7B:AI视频修复的终极解决方案

5分钟掌握SeedVR2-7B&#xff1a;AI视频修复的终极解决方案 【免费下载链接】SeedVR2-7B 项目地址: https://ai.gitcode.com/hf_mirrors/ByteDance-Seed/SeedVR2-7B 想要让模糊的视频瞬间清晰如新吗&#xff1f;SeedVR2-7B作为字节跳动推出的革命性AI视频修复模型&…

作者头像 李华