From e0bf99912a3d0021216e18fdb5d76b80cdc8cf33 Mon Sep 17 00:00:00 2001 From: hchiramm Date: Fri, 11 Nov 2016 14:10:36 +0530 Subject: Updating README to the lastest Signed-off-by: hchiramm --- README.md | 63 +++++++++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 41 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index d6f71a8..4674660 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,17 @@ This repo contains dockerfiles (CentOS, Fedora, Red Hat) for GlusterFS containers. Although Setting up a glusterfs environment is a pretty simple and straight forward procedure, Gluster community do maintain docker images for gluster both in Fedora and CentOS in the docker hub for the ease of users. This blog is intented to walk the user through the steps of running GlusterFS with the help of docker. -The community maintains docker images GlusterFS release 3.6 in both Fedora-21 and CentOS-7. The following are the steps to build the GlusterFS docker images that we maintain: +The community maintains docker images of GlusterFS release in both Fedora and CentOS distributions. The following are the steps to build the GlusterFS docker images that we maintain: To pull the docker image from the docker hub run the following command: -For GlusterFS-3.6 in Fedora-21 + +### Fedora: ~~~ $ docker pull gluster/gluster-fedora ~~~ -For GlusterFS-3.6 in CentOS-7 + +### CentOS: ~~~ $ docker pull gluster/gluster-centos @@ -19,7 +21,7 @@ This will fetch and build the docker image for you from the docker hub. Alternatively, one could build the image from the Dockerfile directly. For this, one should pull the Gluster-Fedora Dockerfile from the source repository and build the image using that. For getting the source, One can make use of git: ~~~ -$ git clone git@github.com:gluster/docker.git +$ git clone git@github.com:gluster/gluster-containers.git ~~~ This repository consists of Dockerfiles for GlusterFS built in both CentOS and Fedora distributions. Once you clone the repository, to build the image, run the following commands: @@ -37,23 +39,45 @@ This command will build the docker image from the Dockerfile you just cloned and Once the image is built in either of the above two steps, we can now run the container with gluster daemon running. For this run the command: ~~~ -$ docker run --privileged -ti -p 22 image name +$ docker run -v /etc/glusterfs:/etc/glusterfs;z -v /var/lib/glusterd:/var/lib/glusterd:z -v /var/log/glusterfs:/var/log/glusterfs:z -v /sys/fs/group:/sys/fs/cgroup:ro -d --privileged=true --net=host -v /dev/:/dev gluster/gluster-centos ~~~ ( is either gluster-fedora or gluster-centos as per the configurations so far) -To detach this container you can press `Ctrl p + Ctrl q` +Where: + + --net=host ( Optional: This option brings maximum network throughput for your storage container) + + --privileged=true ( If you are exposing the `/dev/` tree of host to the container to create bricks from the container) + + +Bind mounting of following directories enables: + + `/var/lib/glusterd` : To make gluster metadata persistent in the host. + `/var/log/glusterfs` : To make gluster logs persistent in the host. + `/etc/glusterfs` : To make gluster configuration persistent in the host. + + + + +Systemd has been installed and is running in the container we maintain. + +Once issued, this will boot up the Fedora or CentOS system and you have a container started with glusterd running in it. -Systemd has been installed and is running in the container we maintain. This is to ensure that gluster daemon is up and running by the time we boot up our container and also to deal with the “Failed to get D-Bus connection” issue. To fix the issue Dan Walsh’s blog on the same matter has been the only resource: developerblog.redhat.com/2014/05/05/running-systemd-within-docker-container/ -For systemd to run without crashing it is necessary to run the container in the privileged mode since systemd requires CAP_SYS_ADMIN capability. As per the help of docker run shows, ‘-t’ option is given to alocate a psedo-TTY and’i stands for the interactive mode which keeps STDIN open even if not attached. The port 22 has been published to the host so that one can ssh into the container that will be running once this command is issued. In the docker file, the password for the root has been changed to ‘password’ for user to ssh into the running container. -One issued, this will boot up the Fedora or CentOS system and you have a container started with glusterd running in it. Now to login to the container, one need to inspect the IP of the container running. To get the ID of the container, one can do: +##### Verify the container is running successfully: ~~~ + $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d273cc739c9d gluster/gluster-fedora:latest "/usr/sbin/init" 3 minutes ago Up 3 minutes 49157/tcp, 49161/tcp, 49158/tcp, 38466/tcp, 8080/tcp, 2049/tcp, 24007/tcp, 49152/tcp, 49162/tcp, 49156/tcp, 6010/tcp, 111/tcp, 49154/tcp, 443/tcp, 49160/tcp, 38468/tcp, 49159/tcp, 245/tcp, 49153/tcp, 6012/tcp, 38469/tcp, 6011/tcp, 38465/tcp, 0.0.0.0:49153->22/tcp angry_morse Note the Container ID of the image and inspect the image to get the IP address. Say the Container ID of the image is d273cc739c9d , so to get the IP do: +~~~ + +##### To inspect the container: + +~~~ $ docker inspect d273cc739c9d "GlobalIPv6Address": "", @@ -66,28 +90,23 @@ $ docker inspect d273cc739c9d The IP address is “172.17.0.2” ~~~ -Once we have got the IP, ssh into the container: + +##### Get inside the container ~~~ +$ docker exec -ti d273cc739c9d -$ ssh root@IP address -The password will be ‘password’ as specified in the dockerfile. Make sure the password is changed immediately. -[ ~]# ssh root@172.17.0.2 -root@172.17.0.2's password: -System is booting up. See pam_nologin(8) -Last login: Mon May 4 06:22:34 2015 from 172.17.42.1 -bash-4.3# ps aux |grep glusterd root 34 0.0 0.0 448092 15800 ? Ssl 06:01 0:00 /usr/sbin/glusterd -p /var/run/glusterd.pid root 159 0.0 0.0 112992 2224 pts/0 S+ 06:22 0:00 grep --color=auto glusterd + -bash-4.3# gluster peer status Number of Peers: 0 + -bash-4.3# gluster --version -glusterfs 3.6.3 built on Apr 23 2015 16:12:34 -Repository revision: git.gluster.com/glusterfs.git -Copyright (c) 2006-2011 Gluster Inc. -GlusterFS comes with ABSOLUTELY NO WARRANTY. -You may redistribute copies of GlusterFS under the terms of the GNU General Public License. --bash-4.3# ~~~ That’s it! + + +Additional Ref# https://goo.gl/3031Mm -- cgit v1.2.3