Techyou labs
文章RSS
评论RSS
登录
真正的爱应该超越生命的长度,心灵的宽度,灵魂的深度
搜索
关于作者
文章分类
Default
Linux/Unix
Database
Cloud
Networking
Security
Programming
最新文章
openvpn自签名证书
带你重走 TiDB TPS 提升 1000 倍的性能优化之旅
Unicode 中的 BIDI 双向性算法[转]
在linux中设置优先使用ipv4,而不是ipv6
linux下WPS高分辨率下因字体缩放导致字体发虚的问题
ssh-rsa not in pubkeyacceptedalgorithms问题解答及处理办法 Permission denied (publickey)
在 Ubuntu 22.04 中使用 PipeWire 替换 PulseAudio
MYSQL简单监控指标
deepin-wine6-stable下TIM悄悄崩溃问题
openwrt 设置ipv6地址分配
最新评论
renothing: 备注:路由器端优先设置ipv4并不影响客户端的ip...
renothing: 二次反向代理跟你应用程序得处理时间有关系吧?尤其是...
二次反向代理性能很差,怎么优化的?: 我也用nginx 做了个二次反向代理,但是并发连3...
hostyep: 交换链接么?目前每天保持30个左右对口IP,每月都...
yzhkpli: error while loading share...
美肤宝: 感谢分享。。。
lq: 嗯 喜欢弄得点单点
按月归档
August 2023
March 2023
December 2022
November 2022
September 2022
August 2022
March 2022
January 2022
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
February 2021
September 2020
May 2020
September 2019
August 2019
July 2019
June 2019
May 2019
January 2019
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
April 2018
March 2018
December 2017
October 2017
September 2017
August 2017
April 2017
March 2017
February 2017
August 2016
July 2015
November 2014
September 2014
August 2014
July 2014
June 2014
July 2013
April 2013
September 2012
July 2012
May 2012
April 2012
February 2012
January 2012
December 2011
November 2011
October 2011
September 2011
August 2011
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
December 2009
November 2009
October 2009
September 2009
August 2009
June 2009
May 2009
April 2009
March 2009
February 2009
December 2008
November 2008
September 2008
August 2008
July 2008
June 2008
常用标签
Mysql
nginx
mysql优化
linux
debian
Powered by
Typecho)))
Optimized by
EAimTY
转:Lima:Docker Desktop for Mac 的免费开源且自由的替代品
September 19, 2021
 近期,Docker Inc. 公司[突然修改了其产品定价和策略](http://mp.weixin.qq.com/s?\_\_biz=MzA5OTAyNzQ2OA==&mid=2649737941&idx=2&sn=d12efe3c25649bf1e91e6dd4e01bde34&chksm=8893f5b6bfe47ca0ce044e654c4661cb7bebecc4bcd300132b8722a122e781bfcf157742fc3a&scene=21#wechat\_redirect),Docker Desktop for Mac/Win 不再 免费 供大型企业内个人使用。 关于此新闻中涉及的条款,这里就不再展开介绍了。我来为大家介绍一款免费、自由、开源的 Docker for Mac 替代品,containerd & Lima。 你只需要执行以下命令即可快速体验: ``` $ brew install lima $ limactl start $ lima nerdctl run -it --rm alpine ``` 注意:如果是 Arm 版的 Mac 则需要安装一个额外的 QEMU 的 patch ,请参考:https://github.com/lima-vm/lima#getting-started 什么是 containerd?什么是 nerdctl? containerd 是一个开源的容器运行时,被很多项目所使用,包括 Docker,和很多云厂商默认配置的 Kubernetes 集群,例如 AKS, EKS 和 GKE。 由于 containerd 项目的核心范围\[1\]仅限于非面向用户的区域,因此用户很难直接与 containerd 进行交互。所以我们近期贡献了一个人性化的 CLI 作为 containerd 的非核心子项目:nerdctl\[2\]。 nerdctl 的功能和用法几乎与 Docker CLI 相同,但是 nerdctl 还支持 Docker 中不存在的几个 containerd 的前沿功能。此类功能包括但不限于 延迟拉取(stargz)和 运行加密镜像(ocicrypt)。 有关更多输 nerdctl 的内容可参考之前的文章:https://medium.com/nttlabs/nerdctl-359311b32d0e 什么是 Lima? Lima(Linux MAchines)可以启动具有自动文件共享、端口转发和使用 containerd 的 Linux 虚拟机。 Lima 截至到 2021 年 9 月 1 日时已经在 GitHub 上获得了 3k star 。  我们最初创建 Lima 是为了向 Mac 用户推广 containerd 和 nerdctl ,但是 Lima 也可以用于其他的容器引擎,例如 Podman 甚至是非容器化的应用程序。 Lima 的设计和 WSL2 类似,但 Lima 使用 MacOS 作为其主要的目标主机。Lima 目前不支持 Windows 主机,如果有需求,我们也可以考虑支持 Windows 系统。 **Lima 的技术细节** 以下是 Lima 的技术细节,感兴趣的小伙伴可以看看: * 管理程序:QEMU,带 hvf(Hypervisor.framework)加速器; * 支持的 Guest 操作系统:Ubuntu(默认),Debian,Fedora,Alpine,Arch和openSUSE; * 文件共享(host->guset):当前版本中使用的是“Reverse SSHFS”,在将来可能会改变,可能会切换到 Samba; * 文件共享(guset->host):WebDAV over SSH(在 https://github.com/lima-vm/sshwebdav 中实验); * 端口转发:ssh -L 有一个 agent 进程在 guest 中监听` /proc/net/tcp`; * 网络:默认在用户空间使用“slirp”。同时也支持通过 sudo 和 VDE 使用 vmnet.framework 的高级网络配置,参考 https://github.com/lima-vm/vde\_vmnet; * 安全:在设计上不需要使用宿主机上的 root 权限,除了可选的 vmnet.framework 支持。 快速开始 **安装 Lima** 如果你使用的是 Intel Mac,只要运行如下 brew 命令即可完成: ``` $ brew install lima ``` 如果你使用的 Arm Mac(M1),当前你需要安装一个 QEMU 的 path 版本才能启用 hvf 加速,该补丁可能在不久之后会合并到 QEMU 上游。请参考:https://github.com/lima-vm/lima#getting-started **启动 Lima** 执行 limactl start 并按下回车选择 Proceed with the default configuration,稍等几分钟,Lima 会自动完成下载 VM 镜像和启动虚拟机。 ``` $ limactl start ? Creating an instance "default" [Use arrows to move, type to filter] > Proceed with the default configuration Open an editor to override the configuration Exit ... INFO[] READY. Run `lima` to open the shell. ``` 在看到 READY 输出后,执行 lima uname -a 来确认虚拟机已经在运行了。 ``` $ lima uname -a Linux lima-default 5.11.0-31-generic #33-Ubuntu SMP Wed Aug 11 13:19:04 UTC 2021 x86\_64 x86\_64 x86\_64 GNU/Linux ``` **使用 lima nerdctl 构建和运行一个容器** 在宿主机上创建一个文件 ~/lima-test/Dockerfile 并写入以下内容: ``` FROM nginx RUN echo "hello lima" > /usr/share/nginx/html/index.html ``` 然后使用如下命令构建一个名为 lima-test 的容器镜像: ``` $ lima nerdctl build -t lima-test ~/lima-test ``` Lima 将主机的家目录挂载到 guest 文件系统,所以 guest 中的 nerdctl 可以无缝的访问主机上的 ~/lima-test 目录。为了安全起见,家目录默认被挂载为只读,但是也可以通过在执行 limactl start 时,通过修改配置来实现可读写模式的挂载。 刚才构建好的 lima-test 镜像可通过如下命令进行启动: ``` $ lima nerdctl run -d -p 127.0.0.1:8080:80 lima-test ``` Lima 将 guest VM 上已经映射了容器中 80 端口的地址 127.0.0.1:8080 映射到宿主机上的 127.0.0.1:8080,所以你可以直接在 Safari 中打开 http://127.0.0.1:8080/ 进而访问到 lima-test 容器。  通过 Safari 访问到 guest VM Rancher Desktop & GUI  Rancher Desktop 已经适配了 Lima ,以便在 macOS 上运行 k3s 。  安装 Rancher Desktop 尽管 Lima 和 nerdctl 它们目前不包含 GUI 控制面,但是 Rancher Desktop 已经使用 Electron 提供了一个很酷的 GUI 。  Rancher Desktop v0.4.1  Rancher Desktop 在后台运行 Lima 未来,上游的 Lima 和 nerdctl 可能也会有自己的 GUI ,这取决于来自社区的需求(和贡献)。 相关链接: 1. https://containerd.io/scope/ 2. https://github.com/containerd/nerdctl 转自:https://mp.weixin.qq.com/s/s7DsZI1sYIAtQTlwWLbp\_Q
暂无评论
添加新评论
称呼
Email
网站
取消回复
内容
发表评论