summaryrefslogtreecommitdiffstats
path: root/Fedora/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'Fedora/Dockerfile')
-rw-r--r--Fedora/Dockerfile98
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"]
-