如何减小RHEL/CentOS/Fedora Docker的大小图像
来自Red Hat的基本映像非常小,对于RHEL 7.4,大小为196M。然而,它往往缺少我想要构建新图像的产品所需的大量零散件。如何减小RHEL/CentOS/Fedora Docker的大小图像
当我在它上面做一个“yum install xxx”的时候,图像大小就会增加+ 500M-800M。
有没有办法缩小图像大小?
是泊坞图像尺寸可以通过执行一个 “荫清洁所有”
初始RHEL图像大小= 196M
Dockerfile显着地减少 - RHEL图片(+ BC)= 505M
# Build command
# docker build -t rhel7base:latest --build-arg REG_USER='<redhat_developer_user>' --build-arg REG_PSWD='<password>' --squash .
FROM registry.access.redhat.com/rhel7/rhel:latest
LABEL maintainer="tim"
ARG REG_USER=none
ARG REG_PSWD=none
RUN subscription-manager register --username $REG_USER --password $REG_PSWD --auto-attach && \
subscription-manager repos --enable rhel-server-rhscl-7-rpms && \
yum install -y bc
Dockerfile - RHEL图片(+ BC)与 “荫清洁所有”= 207M 298M节省
# Build command
# docker build -t rhel7base:latest --build-arg REG_USER='<redhat_developer_user>' --build-arg REG_PSWD='<password>' --squash .
FROM registry.access.redhat.com/rhel7/rhel:latest
LABEL maintainer="tim"
ARG REG_USER=none
ARG REG_PSWD=none
RUN subscription-manager register --username $REG_USER --password $REG_PSWD --auto-attach && \
subscription-manager repos --enable rhel-server-rhscl-7-rpms && \
yum install -y bc && \
yum clean all && \
rm -rf /var/cache/yum
注意:--squash选项是Docker最新版本中的实验性标志。它压缩分层文件系统到一个单一的新层https://blog.docker.com/2017/01/whats-new-in-docker-1-13/
我发现用“荫清洁所有”的解决方案在https://medium.com/@vaceletm/docker-layers-cost-b28cb13cb627
增设了“室射频的/ var /缓存/百胜”来自在“荫清洁所有”
除了TJA的回答,您还可以使用更小的CentOS基本图像的输出,例如建议,Debian的光存在,它被称为Bitnami
https://hub.docker.com/r/bitnami/minideb-extras/
为CentOS也许你可以使用
https://hub.docker.com/r/blalor/centos/
您也可以尝试使用2个工具
https://github.com/mvanholsteijn/strip-docker-image
和
绝对减少你的图像的大小真实的,甚至选择像阿尔派这样的东西。在一天结束的时候,我怀疑yum干净的一切都适用于那些。 – TJA