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"] - |