最小化基于CentOS的Docker镜像

时间:2016-01-24 09:55:05

标签: php docker centos

我基于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

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

您可以使用help blockwise-visual清理yum缓存,如下所示:

h,j,k,l

这节省了大约70 MB。

如果这还不够,您可以考虑使用其他基本图像,例如 BusyBox Alpine

Centos已经有大约170 MB

答案 1 :(得分:1)

您可以在“remi-safe”存储库中尝试使用SCL软件包(php56-php *)(并使用/ opt / remi / php56 / root / usr / sbin / php-fpm命令)。

虽然php- *包提供NTS和ZTS(线程安全)构建,但php56-php- *包只提供标准的NTS构建(并且在你的情况下不需要ZTS构建)所以更小。

不知道你会节省多少钱。