云溪的 blog
  • Archive
  • Media
  • Search
  • Tags
  • About
Home

Posts

我找到了心仪的 Linux 发行版

这些年在我个人的开发电脑上用过很多的发行版,基于 Debian 的 (Ubuntu , Linux Mint ), 基于 Red Hat Enterprise Linux ( CentOS,Fedora),基于 Arch 的(EndeavourOS、Manjaro),还有我们国产优秀发行版 deepin。 作为个人开发使用的发行版我比较看重的点是能否更快的使用最新的软件版本和内核版本,能否充分利用硬件性能以及能否使用最新的 Linux 技术。 基于以上原因我把发行版锁定在 Arch 或基于 Arch 的发行版。Arch 的滚动更新,能够让我一直使用最新软件版本,也能第一时间体验 最新的 Linux 系统内核的新特性。 我是通过 Manjaro 进入了 Arch 的世界,它对新手非常友好,简单的安装方式、优秀的兼容性帮我平滑的度过了新手期,它也是我使用时间最长的发行版。 后来为了体验更加原汁原味的 Arch ,我安装了 EndeavourOS,EndeavourOS 比 Manjaro 更加的轻量化,软件包的发布也要比 Manjaro 要领先一些。EndeavourOS 整体安装和使用和 Manjaro 差不多,但兼容性上较 Manjaro 要差一些,这些兼容性问题通常并致命不影响正常的使用。 一次偶然的机会我接触到了 CachyOS ,我感觉它就是我想要找的发行版了,他所做的一切很符合我对操作系统的需求。 简单的安装方式 CachyOS 和 Manjaro 、EndeavourOS 一样有着图形化的安装方式,我们可以很方便的把系统安装到我们的电脑中。即使新手也可以很容易的使用 CachyOS。 CachyOS 集成了丰富的 Desktop Environments 除了常见的 KDE、GNOME 、FCE 还有很多平铺的 DE 如 i3、Hyprlad,CachyOS 集成的 DE 一共有 17 种之多,这可以让你用一种很纯净的方式把 DE 集成到系统中。 ...

August 16, 2025 · 1 min · 云溪

我为什么切换到 Podman

最近我把本地的容器管理引擎切换到了 Podman,本篇文章来讲讲我为什么从 Docker 切换到 Podman。 兼容 Docker Podman 对 Docker 的兼容非常好,Podman CLI 和 Docker CLI 命令几乎一致,这样就大大降低了切换成本,你甚至可以把 Podman CLI 就当作 Docker CLI 来用。 无守护进程 Docker 有一个守护进程 dockerd 负责管理容器、镜像和网络,Docker CLI 所有的指令都是通过 dockerd 来实际执行的。 Podman 却没有这样一个守护进程来处理,Podman CLI 会启动一个 conmon 进程来管理容器的生命周期,启动 conmon 后 Podman CLI 退出了,只有 conmon 带着它管理的容器作为系统进程保留了下来。 这种无守护进程的模式带来了很多好处: 我的系统不用一直启动一个 dockerd 守护进程,减少了系统资源的占用。 不会因为 dockerd 的异常退出导致所有容器崩溃 支持 rootless Podman 支持以普通用户运行而 docker 默认情况下是以 root 用户来运行的。当发生容器逃逸时 Docker 能拿到 root 权限而 Podman 会将影响范围限制到用户层面,降低了风险的影响范围。 更方便的网络设计 Podman rootless 默认使用的是 slirp4netns 它仅能给单容器提供网络服务,不能提供容期间的通讯,如果想容器间进行通讯就只能通过物理机映射端口或者把容器加入到同一个 pod 进行通讯了。 ...

August 9, 2025 · 1 min · 云溪

探索一种新的项目组织形式

目前我们公司已经深度的使用 Docker 来部署项目,在推进 Docker 落地的过程中,如何将 Docker 的配置文件更好的融入项目一直是困扰着我们的问题。 刚开始我们把 Docker 配置文件全部一股脑地放在项目里, 使编程架构和部署架构给混在了一起,如果开发和部署是一拨人倒还好,如果开发和部署是分开的两个工种,这种方式会造成一定程度的混乱。 以我们 Laravel 项目目录结构为例 . ├── app ├── artisan ├── bootstrap ├── composer.json ├── composer.lock ├── config ├── database ├── docker ├── docker-compose.yml ├── Dockerfile ├── .editorconfig ├── .env.example ├── .git ├── .gitattributes ├── .gitignore ├── .gitlab-ci.yml ├── package.json ├── .php-cs-fixer.cache ├── phpunit.xml ├── public ├── README.md ├── resources ├── rolling-update.sh ├── routes ├── storage ├── tests ├── vendor └── vite.config.js ...

June 26, 2025 · 2 min · 云溪

Laravel docker compose 部署方案介绍

最近在公司搭建最新版本的 Laravel 开发环境,对 docker 部署进行了进一步的优化,我们之前的项目是把定时任务 Cron 和 API 在同一个容器里启动的,这显然不太符合容器的最佳实践,借着这次框架搭建的契机,我决定优化一下这个问题。 环境如下: Laravel : 12 PHP : 8. 4 我们把项目跑在两个容器里,一个是 API 的容器,另一个是 Supervisor 的容器,把 Cron 和 Jobs 放在放在 Supervisor 里执行。 这样就能避免维护过多的容器。在后期做 CI/CD 也会更加方便。 Supervisor 使用和 PHP 一样的 Dockerfile 因为 Supervisor 会用到 PHP 环境来起 Laravel 的 Jobs。 整体方案就是这样来做的,比较简单, 文末我会放一个 git 仓库地址,感兴趣的可以可以进一步了解,接下来讲讲一些细节。 Cron 的配置我们放在了 Dockerfile 里来配置,当然你也可以放在 entrypoint.sh 里来做。 RUN echo "* * * * * /usr/local/bin/php /var/www/artisan schedule:run >> /var/log/cron.log 2>&1" | crontab - 我们的 docker compose 配置如下: ...

June 25, 2025 · 1 min · 云溪

安宁

最近听孟岩播客《够与多》有很深的共鸣,我听了很多遍,在听的过程中去思考和感受,目的就是为了减少知识的缝隙。 要想回应什么是够什么是多,首先得定义我是谁,我需要一个怎样的人生,只有定义了这个才能知道什么是够,什么是多。 如何找自我 找寻自我非常难,很多人终其一生也没有找到自我。我也在找寻自我中陷入了迷茫,直到有一天 the pathless path 里的一句话,为我在黑暗中点起了一丝光亮。 你应该去做那些给你带来能量的事情,而不是消耗你能量的事情。 我们看到过很多地方告诉你要逃离舒适区,这种阐述似乎是没有什么问题,如果舒适区是一个圈,逃离的方向却有四面八方,你要怎么找到自己的方向才是更为关键的。 人生只有一次,我们的人生不该由他人定义,我们要花时间审视自己的人生,找到自己人生的方向。 时间跨度 以更大的时间跨度去思考自己的人生,会更有助于我们梳理人生的方向,段永平说:“做对的事情,把事做对。” 我觉得对我们找到自己人生的方向有很大的启发意义。 有些人可能会觉得玩游戏是自己人生的意义,我不否定这种意义,电竞已经成为奥运比赛的项目,可以看出游戏已经不像 20 年前那样被视为洪水猛兽。有很多游戏的职业选手,梦想的起点也是源于对游戏的热爱。 我们可以想象一直玩游戏十年以后的光景是什么,如果那个光景是你想要的那你就可以去把玩游戏当作自己的人生意义。 找到比别人好十倍的事情 我们也可以找到自己不用很努力就可以做的比别人好十倍的事情,这种事情一般不容易找到,你可以从今天开始主动觉察,去发现那些你比别人更擅长的事情。 也许你发现自己比别人好的并没有十倍,可能仅仅有两倍,那也没有关系,你已经比别人擅长了,去保护好这颗幼芽,持续灌溉,直到它生成为比别人好十倍的事情。 热爱的事情 巴菲特说每天跳着踢踏舞上班,可见热爱是有多么大的能量。热爱也是你能够让你做事比别人好十倍的基础之一。 热爱能让你苦中作乐,有些事情可能会让他人感到痛苦,但对你来说是攀登高峰的喜悦,你可以不断的在热爱的事情上突破,即帮助我们逃离舒适圈,又帮助我们更容易做出比别人好十倍的事情。 关于比较 人生的很多痛苦来自于比较,不必与他人对比,你有你自己的精彩。对于我们大多数人来说找到自己人生的意义,活出自己想要的人生才是最重要的。 什么是够?什么是多?每个人的标准都不一样,同样是有 80 亿,有人卧轨自杀了,有人却匿名捐到基金会帮助了更多的人,使自己的人生更有意义。 社会有很多的准则,工业社会不仅制造了更多的商品,也制造了人们想要更多的心,最开始我们买张桌子是为了满足放东西的需求,而现在我们买张桌子已经远远超过了放东西的基本需求… 商家通过各种影响,让我们陷入了消费陷阱,我们希望购买的商品去替我们说话,来展现自己是一个什么样的人。 当我们停下来审视自己时,或许会发现我们真正需要的并没有那么多,当我们明白自己真正需要的是什么的时候,我们自然也就逃离了消费主义陷阱。 努力活明白 世界太复杂,人生又太短。我们都在努力的活明白,我们想把复杂的世界以及我们复杂的行为阐述的清楚明白,这并不简单。 我一个朋友的父亲说过这样有一段很有哲理的话,大意如下 我们每个人一生都在努力活得自洽 是的,世界是矛盾的,我们自己也是矛盾的,能活的自洽,不拧巴真的是一件不容易的事情。这一生太宝贵,值得我们好好思考和规划。 建立自己的内核 当你有了稳定的内核,你就不会被其他事物牵着鼻子走,你有自己衡量生活的准则,你可以努力的活成自己想要的样子。 没有人比我更适合定义我是谁,我想过怎样的生活。知道了自己想要的生活,才不会被外来的干扰所裹挟,每个人都不相同,各有各自的精彩。 把握当下 有这么一则小故事 小和尚问师父: “师父,什么是修行?” 师父答: “饥来吃饭,困来即眠。” 小和尚疑惑: “这人人都会呀!” 师父说: “非也,世人吃饭时百般计较,睡觉时千头万绪;我则吃饭时吃饭,睡觉时睡觉。” 专注与当下应该做的事情,偶尔抬头看看目标即可。现在的社会更为嘈杂,我们的注意力已经被各种超级 APP 占用,每天面对山呼海啸的信息流,能做到专注于当下已经越来越难。 适当的冥想更加有助于我们抚慰内心的安宁,正像有句话说的那样:“你担心的事情,90 % 都不会发生。”既然这样,我们又何苦耗费心神,担心那些本就不会发生的事情呢。 最后附上一首小诗,祝大家都能找到自己: New York is 3 hours ahead of California, 在时间上,纽约走在加州前面三个小时, But it does not make California slow. 但加州并没有变慢。 Someone graduated at the age of 22, 有人 22 岁就毕业了, But waited 5 years before securing a good job! 但等了五年才找到好工作! Someone became a CEO at 25, 有人 25 岁就当上了 CEO, And died at 50. 却在 50 岁去世了。 While another became a CEO at 50, 也有人直到 50 岁才当上 CEO, And lived to 90 years. 最后活到 90 岁。 Someone is still single, 有人依然单身, While someone else got married. 而别人却早已结婚。 Obama retires at 55, 奥巴马 55 岁退任总统, But Trump starts at 70. 而川普却是 70 岁才开始当。 Absolutely everyone in this world works based on their Time Zone. 世上每个人都有自己的发展时区。 People around you might seem to go ahead of you, 身边有些人看似走在你前面, Some might seem to be behind you. 也有人看似走在你后面。 But everyone is running their own RACE, in their own TIME. 但其实每个人在自己的时区有自己的步程。 Don’t envy them or mock them. 不用嫉妒或嘲笑他们。 They are in their TIME ZONE, and you are in yours! 他们都在自己的时区,你在你的! So, Never Give up. 所以,别放松。 You’re not LATE. 你没有落后, You’re not EARLY. 你也没有领先。 You are very much ON TIME, and in your TIME ZONE Destiny set up for you. 在命运为你安排的属于你自己的时区里,一切都非常准时。 Keep fighting and stay alert, no matter how good. 好,别忘了危机与奋斗。 Keep dreaming and carry on, no matter how hard. 难,别忘了梦想与坚持。 Keep reading and exercising, no matter how busy. 忙,别忘了读书与锻炼。 Life is a long run. 人生,就是一场长跑。 ...

June 13, 2025 · 2 min · 云溪
Next  »
© 2025 云溪的 blog