分类 "Docker" 下的文章

传统部署的坑:

1202 年了,如果你连 Docker 都不知道是什么,我建议买一本书看看——或者谷歌一下,博客已经写烂了。

为什么有这篇文章,是因为我在真正做容器化改造的时候,发现公司生产环境存在大量的坑:

  • 传统虚拟机部署,基本依赖克隆或者手工编译。由于人力原因,SRE 历来单传,编译出来的 PHP、扩展等二进制版本不一致;
  • 项目开发人员痛苦不堪——他没办法模拟出接近于线上一致的环境(碰不到摸不着,各种扩展版本都要自己去编译);
  • 新人入职都会灵魂拷问你一句——我怎么把线上的代码跑起来?
  • ……

用什么 Linux 发行版?

Ubuntu 应该是全球用户量最多的发行版了,嗯我说的是桌面这一块,折腾过的人都知道,出问题的时候开机会有 “检测到系统错误” 的提示,另外,网上提供的配置或者各种疑难杂症,改了不一定能生效,而且你还不确定改了会不会影响到别的,反正我是不敢用的哈哈(Manjaro 真香)。

阅读全文

phpmyadmin

时隔多年,真的很喜欢 phpmyadmin 这个 PHP 程序。

虽然工作上基本都用 Navicat,但是很多东西都是习惯了,就很难改变!

比如建表,执行 SQL 语句,界面操作肯定是 phpmyadmin 更胜一筹:

  • phpmyadmin 建表很直观,是不是主键 ID、有无符号,如果是时间字段,可以直接选择当前时间、自动更新,而 Navicat 要自己把整个单词填进去……
  • 执行 SQL 语句,phpmyadmin 支持语法高亮,Navicat 是黑底白字,非常古老,没有自动完成。

当然,phpmyadmin 也有不好的地方,比如导入/导出就没有 Navicat 那么强大,大表操作还是 Navicat 好使。

开发环境上,我还是离不开 phpmyadmin,搭建环境很容易,电脑需要安装 docker,找个终端执行以下命令即可:

docker run -d --name phpmyadmin -e PMA_HOST=10.43.3.13 -e PMA_PORT=3306 -p 8081:80 phpmyadmin/phpmyadmin

注:PMA_HOSTPMA_PORT 请根据实际情况填写!网上很多教程带了 MySQL,我这边不需要本地数据库,公司提供了测试数据库。

如果你都想自己搭,那也很简单,我一直都是用 MySQL 5.7,实际上 MariaDB 10.2 也可以,后者有 arm 版本,我用 M1 跑起来会舒服些。

docker run -itd --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mariadb:10.2-bionic
docker run -d --name phpmyadmin-mariadb --link mariadb -e PMA_HOST="mariadb" -p 8082:80 phpmyadmin/phpmyadmin