blob: da394cc8cebf4a1e7d4283e9af67e42f0575183c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
FROM fedora
ENV NAME="gluster-fedora" \
DESC="GlusterFS on Fedora" \
VERSION=0 \
RELEASE=1 \
ARCH=x86_64 \
REPO="$FGC" \
container=docker
LABEL name="$REPO/$NAME" \
version="$VERSION" \
release="$RELEASE.$DISTTAG" \
architecture="$ARCH" \
vendor="Red Hat, Inc" \
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>"
VOLUME [ "/sys/fs/cgroup/" ]
COPY gluster-setup.sh gluster-brickmultiplex.service gluster-brickmultiplex.sh 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 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"]
|