docker 镜像的 squash 优化
前言
最近重新优化生产环境的php镜像底包,发现打包结束后大小达到了惊人的2.04G,于是得优化优化了。
常规方案
合并RUN、分阶段构建早用过了,用过之后是2G,当前层级关系如下:
docker-squash 方案
准备进行优化:
优化后的层级和大小,效果很好,而且层级也没了,反正是底包,关系不大
官方docker build –squash...
前言
最近重新优化生产环境的php镜像底包,发现打包结束后大小达到了惊人的2.04G,于是得优化优化了。
常规方案
合并RUN、分阶段构建早用过了,用过之后是2G,当前层级关系如下:
docker-squash 方案
准备进行优化:
优化后的层级和大小,效果很好,而且层级也没了,反正是底包,关系不大
官方docker build –squash...
要使用docker跑sftp的目的
主要是做账户隔离和目录挂载,这样使用起来方便许多,多账户不容易乱
基础镜像
docker hub上顺手搜索一个就行,然后自己打包,主要是自己打包安心一点,本身足够简单的应用没啥难度
https://hub.docker.com/search?q=sftp&type=image
镜像修改
先fork一个镜像: https://github.com/loveyu...
主机上用Docker跑了一个MySQL,大致的配置是:
然后就很愉快的使用了,直到昨天使用nnmap做了一下端口扫描,发现3306赫然在列,但是ufw防火墙中并没有相关内容,此时估计是新坑来了。
顺便telnet一下,好家伙,果然可以。
于是, Google: docker firewall not working, 果然,然后看了一众解决方案,于是默默调整配置,...
这个文件是基于上两篇文章的项目内容,最终的Dockerfile基本如此:
这个Dockerfile的目的是为了生成最终执行的Dockerfile, 其中包含了nginx, php-fpm, log, crontab 等基本组件,同时提供一些php-fpm的配置选项
说明: 文档中进行了大量的替换操作,不能完全保证所有值均正确,如有细节问题请忽略
项目环境变量
目前项目采用单一环境变量加载模式,即只加载一个.env.xxx的文件。
判断模式有两种:参考代码bootstrap/app.php:10
读取当前环境变量 ROCKETOS_ENVIRONMENT 进行配置加载
以.env.local, .env.production, .env.develop,...