DokuWiki容器化实践
DokuWiki 使用 Docker 做容器化,主要解决以下问题。 插件和模板的安装 插件和模板的默认配置和配置文件的传递 持久化存储 插件模板安装 使用容器之后就不能在使用插件管理器来安装插件了,否则容器重启后插件将丢失。需要将插件代码打包到镜像里。基本思路是使用多段构建,在 builder 过程中下载并解压插件和模板代码,然后复制到运 … Continue reading
DokuWiki 使用 Docker 做容器化,主要解决以下问题。 插件和模板的安装 插件和模板的默认配置和配置文件的传递 持久化存储 插件模板安装 使用容器之后就不能在使用插件管理器来安装插件了,否则容器重启后插件将丢失。需要将插件代码打包到镜像里。基本思路是使用多段构建,在 builder 过程中下载并解压插件和模板代码,然后复制到运 … Continue reading
制作 PHP 7 + Nginx 的基础镜像,要求能够通过环境变量修改 PHP 和 Nginx 的部分常用配置。并且支持自定义启动脚本。 Dockerfile --rewrite 15:3 意思是把 SIGTERM 重写为 SIGQUIT,因为对 Nginx 来说,SIGQUIT 是 优雅退出。 Nginx default.conf: 自 … Continue reading
当面向很多用户时,Kubernetes 的使用方式是一个需要考虑的问题。如果直接让用户写 yaml,一方面是要求每个用户都学 Kubernetes,这对研发人员来说是一个不必要的负担,另一方面 yaml 的管理以及权限分配对运维人员来说也是一个不必要的负担,平添很多琐事。因此,使用一个管理系统来屏蔽 Kubernetes 细节,管理权限等 … Continue reading
使用 Docker 运行程序时,需要注意进程数是否正确,能否正确处理退出信号。本文记录几个我遇到过的案例。 Zabbix进程树错误 容器化 Zabbix 后运行不到1分钟就退出,日志如下。 pstree看到进程树不对: cron.sh用于发报警,发完就退出,不应该是zabbix_server的子进程 需要引入init程序,比如dumb-i … Continue reading
Google 自动广告总体感觉挺好,不丑,和网页融合也算比较好。但是因为是自动布局的,也会出现一些不理想的情况,比如把广告插入导航条内部。DokuWiki 出现过这种情况,WordPress 也会出现,特别是手机浏览器打开时。难道是我用的模板有什么不符合规范的地方吗? DokuWiki 的解决方案中,把出现在导航条内部的广告移到外部去了, … Continue reading
Harbor 镜像仓库可以添加描述信息,像 Docker Hub 那样,浏览镜像仓库,就能大致了解镜像的用途及使用方法。但是手动维护描述信息会很麻烦,更好的方案是直接将代码仓库的 README.md 文件自动更新到描述信息。本文记录了一种在 Drone CI 中通过定制 kaniko 插件来自动更新 Harbor 仓库描述信息的方案。 方 … Continue reading
由于树莓派4B是放在卧室,夜里闪烁的 LED 指示灯真的会影响睡眠。 关闭电源及状态指示灯 以下代码加入 /etc/rc.local: 使用 Ubuntu 时,需要使用 systemd 启动 rc-local.service。见参考资料2. 关闭网卡指示灯 树莓派4B的网卡指示灯不能像 3 代那样关闭,Windows 休眠时,网卡绿灯黄灯 … Continue reading
我的树莓派4B 没有安装图形界面,需要使用命令行来管理 Wifi。本文记录一些相关命令。 基本命令 使用 iw 和 iwconfig 命令。 wpa_supplicant Raspbian上是使用 wpa_supplicant 来配置 Wifi。编辑 /etc/wpasupplicant/wpa_supplicant.conf: 配置更 … Continue reading
记录树莓派做 NAS 或者 下载机时,一些关于磁盘挂载可能有用的经验。 使用XFS 树莓派上应避免使用 ntfs 文件系统,在 Linux上 ntfs-3g 速度较低,建议使用 ext4 或者 xfs,我这里测试速度大约比 ntfs 快 2 倍。 使用systemd挂载数据盘 对于故障率高的盘或者纯数据盘,用 systemd&n … Continue reading
PC 和 树莓派如果不是千兆互连,那 Samba 服务器就没有啥意义了。然而我手里没有千兆路由器,这种情况下,可以使用网线直接连接树莓派和电脑,以此来实现树莓派和电脑间的千兆网络。 步骤 Raspbian 系统,编辑 /etc/dhcpcd.conf: win10 设置同网段IP,比如 10.0.0.3,连不上时可尝试 … Continue reading