我基于 CentOS 镜像构建了一个 PHP-FPM 镜像
FROM centos:7
RUN yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm && '
yum -y install php-fpm php-mysqlnd php-mbstring php-intl php-amqp php-redis php-opcache --enablerepo remi,remi-php56 && '
groupadd -g 1000 nginx && '
useradd -u 1000 -g 1000 nginx
EXPOSE 9000
CMD ["php-fpm", "-F"]
并意识到最终图像非常大(超过 350MB)。请告诉我在哪里可以删除不需要的文件作为 Docker Hub 上的一些基于 Debian 的映像?
rm -rf /var/lib/apt/lists/*
rm -rf /var/lib/mysql
感谢您的帮助!
您可以使用
如下yum clean all
清理 yam 缓存:
RUN yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm && '
yum -y install php-fpm php-mysqlnd php-mbstring php-intl php-amqp php-redis php-opcache --enablerepo remi,remi-php56 && '
groupadd -g 1000 nginx && '
useradd -u 1000 -g 1000 nginx && '
yum clean all
这样可以节省大约 70 MB。
如果这还不够,您可以考虑使用不同的基本映像,如 BusyBox 或 Alpine。
Centos 已经有大约 170 MB
您可以在"remi-safe"存储库中尝试使用SCL软件包(php56-php*)(并使用/opt/remi/php56/root/usr/sbin/php-fpm命令)。
虽然 php-* 包同时提供 NTS 和 ZTS(线程安全)构建,但 php56-php-* 包仅提供标准 NTS 构建(在您的情况下不需要 ZTS 构建),因此更小。
真的不知道你会节省多少。