写点什么

Docker Desktop 收费之后,神网友弄了个替代方案

作者:Cirrus Minor

  • 2021-09-06
  • 本文字数:1111 字

    阅读完需:约 4 分钟

Docker Desktop 收费之后,神网友弄了个替代方案

macOS 属于类 Unix 系统,但它并不是 Linux,因此如果/当我们需要使用 docker 之类的 linux 工具时,很不幸我们需要像在 Windows 世界中一样安装 VM 才行。Docker 当然也得这么干。

 

像大多数人一样,我多年来一直使用 Docker Desktop 来处理容器。它很好用,几乎所有事情都能做得井井有条。我不清楚从什么时候开始,Docker 桌面添加了对运行 Kubernetes 的支持。纸面上来看这是挺好的更新,技术上来讲也是可行的,但代价还是无法避免……(至少在我的 Mac 上)随它而来的是狂转的风扇和 747 起飞般的巨大噪音。所幸大部分时间我都可以访问远程 Kubernetes 服务器,因此我很少使用这个方法,但每当我(重新)尝试用它时,我都会很快关掉它。

安装 Kubernetes


上个月,我换了工作加入了Kaltura——所以得重新做一遍系统设置(就是那些重要的事情,比如设置开发字体、所有编辑器的主题等:)),我还决定试一试看能不能不用听那些噪音就让 Kubernetes 跑起来——结果发现似乎几个简单的步骤就能实现我的目标:


brew install hyperkitbrew install minikubeminikube start
复制代码


如果你愿意,还可以在启动之前定义 minikube 映像的资源


minikube config set cpu <whatever>minikube config set memory <whatever>
复制代码


macOS 属于类 Unix 系统,但它并不是 Linux,因此如果/当我们需要使用 docker 之类的 linux 工具的时候,很不幸我们需要像在 Windows 世界中一样安装 VM 才行。Docker 当然也得这么干。

 

像大多数人一样,我多年来一直使用 Docker Desktop 来处理容器。它很好用,几乎所有事情都能做得井井有条。我不清楚从什么时候开始,Docker 桌面添加了对运行 Kubernetes 的支持。纸面上来看这是挺好的更新,技术上来讲也是可行的,但代价还是无法避免……(至少在我的 Mac 上)随它而来的是狂转的风扇和 747 起飞般的巨大噪音。所幸大部分时间我都可以访问远程 Kubernetes 服务器,因此我很少使用这个方法,但每当我(重新)尝试用它时,我都会很快关掉它。



运行 Docker


现在你就可以 kubectl deploy 随便什么东西了,只要它存在就行——但是如果你想部署一个本地创建的映像该怎么办呢?好吧,这并不复杂,你需要在 minikube 使用的 docker 上构建映像:


eval $(minikube docker-env)
复制代码


然后你可以 docker build -t <whatever>,(或其他什么 docker 命令)像往常一样。


它很好用,我将 eval 命令添加到了我的.zshrc 文件中,然后彻底不用 docker 桌面了。


补充:大约一天前,我看到 Docker 正在尝试通过 Docker 桌面获利,开始需要企业订阅许可了,因此使用 hypekit+minikube 不仅看起来效果更好(起码对我来说是这样),对于不想/无法让他们的组织支付订阅费用的开发人员来说也是一个很好的方案,所以这又是一个加分点。


原文链接:


https://arnon.me/2021/09/replace-docker-with-minikube/

2021-09-06 15:4311731
用户头像

发布了 74 篇内容, 共 32.9 次阅读, 收获喜欢 83 次。

关注

评论 2 条评论

发布
用户头像
浪费时间
2021-11-24 11:05
回复
用户头像
这就是你复制粘贴两遍的理由?
2021-09-20 16:53
回复
没有更多了
发现更多内容

毕业总结

Johnny

架构实战营

架构实战营 毕业设计:设计电商秒杀系统

Ahu

从0开始的TypeScriptの七:函数

空城机

typescript 大前端 8月日更

梳理会在Scrum中是活动还是事件?——《Scrum指南》重读有感(6)

Bruce Talk

Scrum 敏捷 随笔 Agile

QDS04 TensorFlow

耳东@Erdong

tensorflow 8月日更 qds

crudapi增删改查接口零代码产品成功案例之商会联盟卡项目

crudapi

Java Vue 零代码 crudapi qusar

https 与 http 区别

一个大红包

8月日更

python-类,对象--》多态,封装,继承

加里都好

Python

实战架构训练营总结

贯通

#架构实战营

【Vue2.x 源码学习】第三十五篇 - 组件部分 - Vue.component 实现

Brave

源码 vue2 8月日更

万字文肝Python基础知识

ベ布小禅

8月日更

有书香气的七夕节

箭上有毒

8月日更

【设计模式】中介者模式

Andy阿辉

C# 后端 设计模式 8月日更

架构训练营毕业总结

Neil43

架构训练营

「让我们一起Golang」让协程自己kill自己

Regan Yue

协程 Go 语言 8月日更

Android开发:Android Studio插件GsonFormat根据Json自动生成javabean的方法

三掌柜

8月日更 8月

【Flutter 专题】66 图解基本约束 Box (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 8月日更

Seata搭建与分布式事务入门

码农参上

SpringCloud spring cloud alibaba seata 8月日更

MySQL 系列教程之(四)MySQL 中的数据类型

若尘

MySQL 数据库 8月日更

手撸二叉树之二叉树的堂兄弟节点

HelloWorld杰少

数据结构与算法 8月日更

配置Flink流式应用(九)

Databri_AI

flink Kubernetes YARN

Linux之rcp命令

入门小站

Linux

在线日期计算器

入门小站

工具

JavaScript继承的实现方式:原型语言对象继承对象原理剖析

zhoulujun

JavaScript

前端之算法(四)快速排序

Augus

算法 8月日更

模式包括问题和解决方案

escray

学习 极客时间 如何落地业务建模 8月日更

部署MinIO存储服务的四种方式

liuzhen007

8月日更

持久层Mybatis中对于SQL注入的问题,聊聊你的想法?

卢卡多多

SQL优化 8月日更

【自驱型成长】——控制感

LeifChen

压力 控制感 8月日更 自驱型成长

Git 应该用 fetch 还是 pull

HoneyMoose

Web框架Gin | Gin 中间件

xcbeyond

Go 语言 gin gin-middleware 8月日更

Docker Desktop 收费之后,神网友弄了个替代方案_大数据_InfoQ精选文章