diff options
Diffstat (limited to 'Fedora/Dockerfile')
| -rw-r--r-- | Fedora/Dockerfile | 98 | 
1 files changed, 55 insertions, 43 deletions
| diff --git a/Fedora/Dockerfile b/Fedora/Dockerfile index c0ea63d..da394cc 100644 --- a/Fedora/Dockerfile +++ b/Fedora/Dockerfile @@ -1,53 +1,65 @@  FROM fedora -MAINTAINER Humble Chirammal hchiramm@redhat.com Mohamed Ashiq Liyazudeen mliyazud@redhat.com +ENV NAME="gluster-fedora" \ +    DESC="GlusterFS on Fedora" \ +    VERSION=0 \ +    RELEASE=1 \ +    ARCH=x86_64 \ +    REPO="$FGC" \ +    container=docker -ENV container docker - -LABEL architecture="x86_64" \ -      name="gluster/gluster-fedora" \ -      version="3.10" \ +LABEL name="$REPO/$NAME" \ +      version="$VERSION" \ +      release="$RELEASE.$DISTTAG" \ +      architecture="$ARCH" \        vendor="Red Hat, Inc" \ -      summary="This image has a running glusterfs service ( Fedora + Gluster 3.10)" \ -      io.k8s.display-name="Gluster 3.10 based on Fedora" \ -      io.k8s.description="Gluster Image is based on Fedora Image which is a scalable network filesystem. Using common off-the-shelf hardware, you can create large, distributed storage solutions for media streaming, data analysis, and other data- and bandwidth-intensive tasks." \ -      description="Gluster Image is based on fedora Image which is a scalable network filesystem. Using common off-the-shelf hardware, you can create large, distributed storage solutions for media streaming, data analysis, and other data- and bandwidth-intensive tasks." \ -      io.openshift.tags="gluster,glusterfs,gluster-fedora" - +      summary="$DESC" \ +      usage="docker run -d $REPO/$NAME" \ +      io.k8s.display-name="$DESC" \ +      io.k8s.description="GlusterFS is a distributed and scalable network filesystem. Using common, off-the-shelf hardware you can create large, distributed storage solutions for media streaming, data analysis, and other data- and bandwidth-intensive tasks." \ +      io.openshift.tags="gluster,glusterfs,gluster-fedora" \ +      com.redhat.component="$NAME" \ +      maintainer="Jose A. Rivera <jarrpa@redhat.com>, Humble Chirammal <hchiramm@redhat.com>" -RUN yum -y update;\ -yum -y install systemd; \ -(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 /etc/systemd/system/*.wants/*;\ -rm -f /lib/systemd/system/local-fs.target.wants/*; \ -rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ -rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ -rm -f /lib/systemd/system/basic.target.wants/*;\ -rm -f /lib/systemd/system/anaconda.target.wants/*; \ -yum --setopt=tsflags=nodocs -y install ntp nfs-utils iputils iproute attr glusterfs glusterfs-server glusterfs-geo-replication openssh-server; yum clean all;\ -sed -i '/Port 22/c\Port 2222' /etc/ssh/sshd_config; \ -sed -i 's/Requires\=rpcbind\.service//g' /usr/lib/systemd/system/glusterd.service; \ -sed -i 's/rpcbind\.service/gluster-setup\.service/g' /usr/lib/systemd/system/glusterd.service; \ -mkdir -p /etc/glusterfs_bkp /var/lib/glusterd_bkp /var/log/glusterfs_bkp;\ -cp -r /etc/glusterfs/* /etc/glusterfs_bkp;\ -cp -r /var/lib/glusterd/* /var/lib/glusterd_bkp;\ -cp -r /var/log/glusterfs/* /var/log/glusterfs_bkp; \ -sed -i.save -e "s#udev_sync = 1#udev_sync = 0#" -e "s#udev_rules = 1#udev_rules = 0#" -e "s#use_lvmetad = 1#use_lvmetad = 0#" /etc/lvm/lvm.conf; +VOLUME [ "/sys/fs/cgroup/" ] -VOLUME [ "/sys/fs/cgroup" ] -ADD gluster-setup.service /etc/systemd/system/gluster-setup.service -ADD gluster-setup.sh /usr/sbin/gluster-setup.sh +COPY gluster-setup.sh gluster-brickmultiplex.service gluster-brickmultiplex.sh gluster-setup.service / -RUN chmod 644 /etc/systemd/system/gluster-setup.service; \ -chmod 500 /usr/sbin/gluster-setup.sh; \ -systemctl disable nfs-server.service; \ -systemctl mask getty.target; \ -systemctl enable ntpd.service; \ -systemctl enable glusterd.service; \ -systemctl enable gluster-setup.service; +RUN dnf -y update && \ +    sed -i "s/LANG/\#LANG/g" /etc/locale.conf && \ +    dnf -y install systemd-udev ntp glusterfs-server dbus-python nfs-utils attr iputils iproute glusterfs-geo-replication openssh-server openssh-clients cronie tar rsync sos sudo xfsprogs && \ +    dnf clean all && \ +    sed -i '/Port 22/c\Port 2222' /etc/ssh/sshd_config && \ +    sed -i 's/Requires\=rpcbind\.service//g' /usr/lib/systemd/system/glusterd.service && \ +    sed -i 's/rpcbind\.service/gluster-setup\.service/g' /usr/lib/systemd/system/glusterd.service && \ +    sed -i.save -e "s#udev_sync = 1#udev_sync = 0#" -e "s#udev_rules = 1#udev_rules = 0#" -e "s#use_lvmetad = 1#use_lvmetad = 0#" /etc/lvm/lvm.conf && \ +    # Back up the default/base configuration. The target directories get +    # overwritten with the directories from the host which are initially +    # empty. +    mkdir -p /etc/glusterfs_bkp /var/lib/glusterd_bkp /var/log/glusterfs_bkp && \ +    cp -r /etc/glusterfs/* /etc/glusterfs_bkp && \ +    cp -r /var/lib/glusterd/* /var/lib/glusterd_bkp && \ +    cp -r /var/log/glusterfs/* /var/log/glusterfs_bkp && \ +    mv /gluster-setup.sh /usr/sbin/gluster-setup.sh && \ +    mv /gluster-brickmultiplex.service /etc/systemd/system/gluster-brickmultiplex.service && \ +    mv /gluster-brickmultiplex.sh /usr/sbin/gluster-brickmultiplex.sh && \ +    mv /gluster-setup.service /etc/systemd/system/gluster-setup.service && \ +    chmod 644 /etc/systemd/system/gluster-setup.service && \ +    chmod 500 /usr/sbin/gluster-setup.sh && \ +    ln -s /usr/sbin/gluster-setup.sh /usr/sbin/setup.sh && \ +    chmod 644 /etc/systemd/system/gluster-brickmultiplex.service && \ +    chmod 500 /usr/sbin/gluster-brickmultiplex.sh && \ +    systemctl mask getty.target && \ +    systemctl disable systemd-udev-trigger.service && \ +    systemctl disable systemd-udevd.service && \ +    systemctl disable nfs-server.service && \ +    systemctl enable rpcbind.service && \ +    systemctl enable sshd.service && \ +    systemctl enable ntpd.service && \ +    systemctl enable gluster-setup.service && \ +    systemctl enable gluster-brickmultiplex.service && \ +    systemctl enable glusterd.service -EXPOSE 2222 111 245 443 24007 2049 8080 6010 6011 6012 38465 38466 38468 38469 49152 49153 49154 49156 49157 49158 49159 49160 49161 49162 49163 +EXPOSE 2222 111 245 443 24006 24007 2049 8080 6010 6011 6012 38465 38466 38468 38469 49152 49153 49154 49156 49157 49158 49159 49160 49161 49162  CMD ["/usr/sbin/init"] - | 
