Update Fedora and CentOS docker images.
- Reduce image size by skipping weak package references. - Consolidate and sort packages to install. - Improve consistency between versions. - Combine yum/dnf install and clean to avoid unwanted caching. - Don't update existing packages from base image unnecessarily.
This commit is contained in:
parent
e35c0b5669
commit
cabbafb650
4 changed files with 74 additions and 58 deletions
|
@ -1,48 +1,49 @@
|
||||||
# Latest version of centos
|
|
||||||
FROM centos:centos6
|
FROM centos:centos6
|
||||||
RUN yum -y update; yum clean all;
|
|
||||||
RUN yum -y install \
|
RUN yum clean all && \
|
||||||
|
yum -y install epel-release && \
|
||||||
|
yum -y install \
|
||||||
acl \
|
acl \
|
||||||
asciidoc \
|
asciidoc \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
epel-release \
|
|
||||||
file \
|
file \
|
||||||
gcc \
|
gcc \
|
||||||
git \
|
git \
|
||||||
make \
|
make \
|
||||||
mercurial \
|
mercurial \
|
||||||
mysql \
|
mysql \
|
||||||
mysql-server \
|
|
||||||
MySQL-python \
|
MySQL-python \
|
||||||
rpm-build \
|
mysql-server \
|
||||||
rubygems \
|
|
||||||
sed \
|
|
||||||
subversion \
|
|
||||||
sudo \
|
|
||||||
unzip \
|
|
||||||
openssh-clients \
|
openssh-clients \
|
||||||
openssh-server \
|
openssh-server \
|
||||||
which \
|
|
||||||
zip
|
|
||||||
RUN yum -y install \
|
|
||||||
PyYAML \
|
|
||||||
python-coverage \
|
python-coverage \
|
||||||
python-devel \
|
python-devel \
|
||||||
python-httplib2 \
|
python-httplib2 \
|
||||||
python-jinja2 \
|
|
||||||
python-keyczar \
|
python-keyczar \
|
||||||
python-mock \
|
python-mock \
|
||||||
python-nose \
|
python-nose \
|
||||||
python-paramiko \
|
python-paramiko \
|
||||||
python-pip \
|
python-pip \
|
||||||
python-setuptools \
|
python-setuptools \
|
||||||
python-virtualenv
|
python-virtualenv \
|
||||||
RUN pip install --upgrade jinja2
|
PyYAML \
|
||||||
RUN rpm -e --nodeps python-crypto; pip install pycrypto
|
rpm-build \
|
||||||
|
rubygems \
|
||||||
|
sed \
|
||||||
|
subversion \
|
||||||
|
sudo \
|
||||||
|
unzip \
|
||||||
|
which \
|
||||||
|
zip \
|
||||||
|
&& \
|
||||||
|
yum clean all
|
||||||
|
|
||||||
|
RUN rpm -e --nodeps python-crypto && pip install --upgrade jinja2 pycrypto
|
||||||
|
|
||||||
RUN /bin/sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers
|
RUN /bin/sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers
|
||||||
RUN mkdir /etc/ansible/
|
RUN mkdir /etc/ansible/
|
||||||
RUN /bin/echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts
|
RUN /bin/echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts
|
||||||
#VOLUME /sys/fs/cgroup /run /tmp
|
VOLUME /sys/fs/cgroup /run /tmp
|
||||||
RUN ssh-keygen -q -t rsa1 -N '' -f /etc/ssh/ssh_host_key && \
|
RUN ssh-keygen -q -t rsa1 -N '' -f /etc/ssh/ssh_host_key && \
|
||||||
ssh-keygen -q -t dsa -N '' -f /etc/ssh/ssh_host_dsa_key && \
|
ssh-keygen -q -t dsa -N '' -f /etc/ssh/ssh_host_dsa_key && \
|
||||||
ssh-keygen -q -t rsa -N '' -f /etc/ssh/ssh_host_rsa_key && \
|
ssh-keygen -q -t rsa -N '' -f /etc/ssh/ssh_host_rsa_key && \
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
# Latest version of centos
|
|
||||||
FROM centos:centos7
|
FROM centos:centos7
|
||||||
RUN yum -y update; yum clean all; yum -y swap fakesystemd systemd
|
|
||||||
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
|
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
|
||||||
rm -f /lib/systemd/system/multi-user.target.wants/*; \
|
rm -f /lib/systemd/system/multi-user.target.wants/*; \
|
||||||
rm -f /etc/systemd/system/*.wants/*; \
|
rm -f /etc/systemd/system/*.wants/*; \
|
||||||
|
@ -9,29 +8,23 @@ rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
|
||||||
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
|
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
|
||||||
rm -f /lib/systemd/system/basic.target.wants/*; \
|
rm -f /lib/systemd/system/basic.target.wants/*; \
|
||||||
rm -f /lib/systemd/system/anaconda.target.wants/*;
|
rm -f /lib/systemd/system/anaconda.target.wants/*;
|
||||||
RUN yum -y install \
|
|
||||||
|
RUN yum clean all && \
|
||||||
|
yum -y install epel-release && \
|
||||||
|
yum -y install \
|
||||||
acl \
|
acl \
|
||||||
asciidoc \
|
asciidoc \
|
||||||
dbus-python \
|
|
||||||
bzip2 \
|
bzip2 \
|
||||||
epel-release \
|
dbus-python \
|
||||||
file \
|
file \
|
||||||
git \
|
git \
|
||||||
iproute \
|
iproute \
|
||||||
make \
|
make \
|
||||||
mercurial \
|
|
||||||
mariadb-server \
|
mariadb-server \
|
||||||
|
mercurial \
|
||||||
MySQL-python \
|
MySQL-python \
|
||||||
rpm-build \
|
|
||||||
rubygems \
|
|
||||||
subversion \
|
|
||||||
sudo \
|
|
||||||
unzip \
|
|
||||||
openssh-clients \
|
openssh-clients \
|
||||||
openssh-server \
|
openssh-server \
|
||||||
which
|
|
||||||
RUN yum -y install \
|
|
||||||
PyYAML \
|
|
||||||
python-coverage \
|
python-coverage \
|
||||||
python-httplib2 \
|
python-httplib2 \
|
||||||
python-jinja2 \
|
python-jinja2 \
|
||||||
|
@ -41,7 +34,18 @@ RUN yum -y install \
|
||||||
python-paramiko \
|
python-paramiko \
|
||||||
python-pip \
|
python-pip \
|
||||||
python-setuptools \
|
python-setuptools \
|
||||||
python-virtualenv
|
python-virtualenv \
|
||||||
|
PyYAML \
|
||||||
|
rpm-build \
|
||||||
|
rubygems \
|
||||||
|
subversion \
|
||||||
|
sudo \
|
||||||
|
unzip \
|
||||||
|
which \
|
||||||
|
&& \
|
||||||
|
yum -y swap fakesystemd systemd && \
|
||||||
|
yum clean all
|
||||||
|
|
||||||
RUN /usr/bin/sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers
|
RUN /usr/bin/sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers
|
||||||
RUN mkdir /etc/ansible/
|
RUN mkdir /etc/ansible/
|
||||||
RUN /usr/bin/echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts
|
RUN /usr/bin/echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
# Latest version of fedora rawhide
|
|
||||||
FROM fedora:rawhide
|
FROM fedora:rawhide
|
||||||
RUN dnf -y update; dnf clean all
|
|
||||||
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
|
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
|
||||||
rm -f /lib/systemd/system/multi-user.target.wants/*; \
|
rm -f /lib/systemd/system/multi-user.target.wants/*; \
|
||||||
rm -f /etc/systemd/system/*.wants/*; \
|
rm -f /etc/systemd/system/*.wants/*; \
|
||||||
|
@ -9,24 +8,27 @@ rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
|
||||||
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
|
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
|
||||||
rm -f /lib/systemd/system/basic.target.wants/*; \
|
rm -f /lib/systemd/system/basic.target.wants/*; \
|
||||||
rm -f /lib/systemd/system/anaconda.target.wants/*;
|
rm -f /lib/systemd/system/anaconda.target.wants/*;
|
||||||
RUN dnf -y install \
|
|
||||||
|
RUN dnf clean all && \
|
||||||
|
dnf -y --setopt=install_weak_deps=false install \
|
||||||
acl \
|
acl \
|
||||||
asciidoc \
|
asciidoc \
|
||||||
dbus-python \
|
|
||||||
bzip2 \
|
bzip2 \
|
||||||
|
dbus-python \
|
||||||
file \
|
file \
|
||||||
findutils \
|
findutils \
|
||||||
git \
|
git \
|
||||||
glibc-locale-source \
|
glibc-locale-source \
|
||||||
iproute \
|
iproute \
|
||||||
make \
|
make \
|
||||||
mercurial \
|
|
||||||
mariadb-server \
|
mariadb-server \
|
||||||
|
mercurial \
|
||||||
MySQL-python \
|
MySQL-python \
|
||||||
|
openssh-clients \
|
||||||
|
openssh-server \
|
||||||
procps \
|
procps \
|
||||||
PyYAML \
|
|
||||||
python-coverage \
|
|
||||||
python2-dnf \
|
python2-dnf \
|
||||||
|
python-coverage \
|
||||||
python-httplib2 \
|
python-httplib2 \
|
||||||
python-jinja2 \
|
python-jinja2 \
|
||||||
python-keyczar \
|
python-keyczar \
|
||||||
|
@ -36,6 +38,7 @@ RUN dnf -y install \
|
||||||
python-pip \
|
python-pip \
|
||||||
python-setuptools \
|
python-setuptools \
|
||||||
python-virtualenv \
|
python-virtualenv \
|
||||||
|
PyYAML \
|
||||||
rpm-build \
|
rpm-build \
|
||||||
rubygems \
|
rubygems \
|
||||||
subversion \
|
subversion \
|
||||||
|
@ -43,10 +46,11 @@ RUN dnf -y install \
|
||||||
tar \
|
tar \
|
||||||
unzip \
|
unzip \
|
||||||
which \
|
which \
|
||||||
openssh-clients \
|
|
||||||
openssh-server \
|
|
||||||
yum \
|
yum \
|
||||||
zip
|
zip \
|
||||||
|
&& \
|
||||||
|
dnf clean all
|
||||||
|
|
||||||
RUN localedef --quiet -c -i en_US -f UTF-8 en_US.UTF-8
|
RUN localedef --quiet -c -i en_US -f UTF-8 en_US.UTF-8
|
||||||
RUN /usr/bin/sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers
|
RUN /usr/bin/sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers
|
||||||
RUN mkdir /etc/ansible/
|
RUN mkdir /etc/ansible/
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
# Latest version of fedora 23
|
|
||||||
FROM fedora:23
|
FROM fedora:23
|
||||||
RUN dnf -y update; dnf clean all
|
|
||||||
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
|
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
|
||||||
rm -f /lib/systemd/system/multi-user.target.wants/*; \
|
rm -f /lib/systemd/system/multi-user.target.wants/*; \
|
||||||
rm -f /etc/systemd/system/*.wants/*; \
|
rm -f /etc/systemd/system/*.wants/*; \
|
||||||
|
@ -9,24 +8,26 @@ rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
|
||||||
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
|
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
|
||||||
rm -f /lib/systemd/system/basic.target.wants/*; \
|
rm -f /lib/systemd/system/basic.target.wants/*; \
|
||||||
rm -f /lib/systemd/system/anaconda.target.wants/*;
|
rm -f /lib/systemd/system/anaconda.target.wants/*;
|
||||||
RUN dnf -y install \
|
|
||||||
|
RUN dnf clean all && \
|
||||||
|
dnf -y --setopt=install_weak_deps=false install \
|
||||||
acl \
|
acl \
|
||||||
asciidoc \
|
asciidoc \
|
||||||
dbus-python \
|
|
||||||
bzip2 \
|
bzip2 \
|
||||||
|
dbus-python \
|
||||||
file \
|
file \
|
||||||
findutils \
|
findutils \
|
||||||
glibc-common \
|
|
||||||
git \
|
git \
|
||||||
iproute \
|
iproute \
|
||||||
make \
|
make \
|
||||||
mercurial \
|
|
||||||
mariadb-server \
|
mariadb-server \
|
||||||
|
mercurial \
|
||||||
MySQL-python \
|
MySQL-python \
|
||||||
|
openssh-clients \
|
||||||
|
openssh-server \
|
||||||
procps \
|
procps \
|
||||||
PyYAML \
|
|
||||||
python-coverage \
|
|
||||||
python2-dnf \
|
python2-dnf \
|
||||||
|
python-coverage \
|
||||||
python-httplib2 \
|
python-httplib2 \
|
||||||
python-jinja2 \
|
python-jinja2 \
|
||||||
python-keyczar \
|
python-keyczar \
|
||||||
|
@ -36,6 +37,7 @@ RUN dnf -y install \
|
||||||
python-pip \
|
python-pip \
|
||||||
python-setuptools \
|
python-setuptools \
|
||||||
python-virtualenv \
|
python-virtualenv \
|
||||||
|
PyYAML \
|
||||||
rpm-build \
|
rpm-build \
|
||||||
rubygems \
|
rubygems \
|
||||||
subversion \
|
subversion \
|
||||||
|
@ -43,12 +45,17 @@ RUN dnf -y install \
|
||||||
tar \
|
tar \
|
||||||
unzip \
|
unzip \
|
||||||
which \
|
which \
|
||||||
openssh-clients \
|
|
||||||
openssh-server \
|
|
||||||
yum \
|
yum \
|
||||||
zip
|
zip \
|
||||||
RUN localedef --quiet -f ISO-8859-1 -i pt_BR pt_BR
|
&& \
|
||||||
RUN localedef --quiet -f ISO-8859-1 -i es_MX es_MX
|
dnf clean all
|
||||||
|
|
||||||
|
RUN dnf -y --setopt=install_weak_deps=false update glibc-common && \
|
||||||
|
localedef --quiet -f ISO-8859-1 -i pt_BR pt_BR && \
|
||||||
|
localedef --quiet -f ISO-8859-1 -i es_MX es_MX && \
|
||||||
|
dnf clean all
|
||||||
|
|
||||||
|
RUN localedef --quiet -c -i en_US -f UTF-8 en_US.UTF-8
|
||||||
RUN /usr/bin/sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers
|
RUN /usr/bin/sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers
|
||||||
RUN mkdir /etc/ansible/
|
RUN mkdir /etc/ansible/
|
||||||
RUN /usr/bin/echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts
|
RUN /usr/bin/echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts
|
||||||
|
|
Loading…
Reference in a new issue