1. Introduction to Docker- Jeeva, IBM
3. Intorduction to CoreOS – Jitendra Kumar Yadav, Verizon Labs
The meetup started with round of introduction from participants and the hosts. Jeeva gave short and good introduction to Docker. After that Madhurranjan gave excellent session on Namespaces and Cgroups. The demos really helped to understand concepts well. The last talk was from Jitendra of Verizon Labs in which he covered basics of CoreOS .
During the vote of thanks, Puneet talked about his experience from DockerCon, which he attended few month back. He also said he is very happy to see such active Docker community in Bangalore and Relevance Lab would be activly participating in the meetups.
We talked about two other things
1. Participating in the next global Docker hackathon which is scheduled last week October’14. I was happy to see many members showing interest to it. It would great if we can take participation to next level and contribute to Docker code base.
I participated in Sequoia Hack’14 with Shireeh Anjal. We worked in different teams at Red Hat. In last year’s Sequoia hack we participated in different teams. This years we decided to form a team and use the team name I used last time Shadowfax. As currently I am playing with Docker, so I wanted to do some hack around Docker.
Our project name was Social Listening with Docker Containers. Though our idea of the project did not change but we changed the pitch of the it. So we pitched it like following:-
Lets say you created a product and hired a PR to market in social media. The PR firms charges you with X amount of money saying that because of their marketing your product has generated N tweets/FB posts etc. You want to make sure that PR firms have done their job. In simple terms you want to a litmus test.
We were just able to do just with twitter in limited time. So you come to our app and either give your twitter credentials or just let us know what keyword you want to search.
After that we would start looking for that keyword and collecting tweets and save it. Once the observation time gets over we get analyse the tweets give the results. As of now we just generate the word cloud and give the location from it got tweeted,if it has been geo-tagged.
So where is Docker in it ? As soon as someone submits a request, we start a container with its environment variables set to ones passed by the user. Then we use those environment variables to call twitter APIs to collect tweets and save it to ElasticSearch. When we want to do the analysis we query the ElasticSearch and get the dataset and do the analysis.The front to our app is written in RoR and we used to python APIs to connect twitter.
It was great experience overall, learned few things saw some great hacks. Hope to participate in future hackathons and at-least reach in final N.
I got the opportunity to attend LinuxCon/CloudOpen NA this year, which happened last week b/w 20th to 22nd August’14.
Few take aways for me from the Keynote of Jim Zemlin were
– Software is eating the World and Open Source is eating the Software.
– Any software foundation should work like janitor for its project, enable structured investment, reach out to new industries
– Marketing is very important for opensource
There were many tracks to attend but I chose to attend mostly containers track, which contained most of the Docker, LXC talks. Within containers track and overall I liked James Bottomley talk on Containers in Linux: Current State and Where We’re Going . He covered the history of containerization and where it is headed. In very limited time he covered lots of ground.
Is It Safe To Run Applications In Linux Containers? This is talk which Jérôme Petazzoni gave. There is no simple Yes/No answer. Docker made it complicated. Engineers from different companies are work on this and answer should be Yes in near future.
In the Keynote Solomon Hykes shared most of the stuff from his DockerCon Keynode, which happened few months back. He talked about orchestration, networking, identity management.
Linda Wang gave good analogies to understand containization in general duing her talk Docker Enablement Makes Linux Container Easy to Deploy on Enterprise Linux and how Docker makes things easy for deployment.
I want to get involved more with Fedora, so I attended talk from Matthew Miller on How Linux Distros Became Boring (and Fedora’s Plan to Put Boring Where It Belongs). He shared usage trend of different Linux distributiions. He talked about Fedora Next and different types of Fedora variants community is planning to cater needs of different segments.
Joe Beda from Google talked about Kubernetes which is a Docker orchestration tool in his talk “Managed Containers, Open Source, and Google”. Rohit Jnagal and his teammate gave me quick demo on Kubernetes as well. From my dicucssions with fellow participants it is not clear how all the tools like Kubernetes, CoreOS, Atomic, Mesos, Openstack, Docker are going to fit together. It would be very interesting to watch this space in coming months and if possible to be part of it.
Joe ‘Zonker’ Brockmeier shared detailed about Red Hat’s Atomic project in his “Atomic in Depth: A Look at Project Atomic for Managing Docker Containers” talk. He also talked about Cockpit, rpm-ostree which project Atomic is going to use. This the project which I would like to contribute and make sure its production ready. I am going to play Fedora Cloud, which would have Atomic as basic building block. I hope we could do Fedora Activity Day (FAD) around it in India soon.
During the event I met many community members and had great discussions. Thanks a lot guys. Few social events were also orgnized during the main events. I went to Museum of Science and Industry, Chicago on first day of the main event and then on third day participated in Fun Run which was actually guided city tour.
I reached Chicago few days earlier and got the opportunity to explore the city as well. It is really a beautiful city and should sometime in future with Family. During my stay I also attended and presented at Chicago Docker meetup as well.
After the LinuxCon I spent next week in Red Hat’s Westford, MA office. It was great meeting with team face to face. With work we had lots of fun.
In Bangalore Docker Meetup we had following agenda :-
1. Introduction to Docker – Lalatendu Mohanthy, Red Hat
2. Hands-On with Go – Kracekumar Ramaraju, recruiterbox
3. Intro to Dockerfiles – Karan Mishra
And for Chicago we had following agenda:-
1. What’s new in the latest Docker release and Docker Hub – Victor Vieux, Docker
2. Introduction to Docker support in Apache Mesos – Isabel Jimenez
3. Lightning Talk – Neependra Khare, co-organizer of Docker Bangalore
4. Lightning Talk – Laura Frank, Senior Engineer at CenturyLink Labs
In my lighting talk I shared the difference between the two meetup groups –
– Back in India we don’t have any core Docker developers visiting the meetups but thats not case in Chicago. Rohit Jnagal from Google, who is one of the maintainer of libcontainer visited once
.- In India, we do meetups mostly on Saturdays which was surprising to guys in US.
– In US, the food is served before the talks. May be India we want to make sure that people listen all the talks before the food
To make my presentation more interesting I shared the member sign-up pattern of Bangalore Docker meetup group. Generally if we have a meetup in a given month we see more people join the meetup group. Though in July’14 we did not have meetup but most people joined it. May be of DockerCon which happened last month.
The members count in Bangalore seem to be increasing month over month and now we ~350 members. I have requested the Docker core team to visit India sometime. Hope so that would happen soon. Post meetup some us went for some drinks and food. I enjoyed the discussions with Steve Hoffman, Solomon, Dave Lester and others. Hope I get this opportunity often.
Last weekend, 28th June we had 5th Bangalore Docker meetup at Shippabale. Over the last few weeks we worked on the agenda and finalized on following :-
1. Dockercon Report – Neependra Khare, Red Hat
Dockercon is scheduled on 9th-10th June’14. If anyone of us attending Dockercon then he/she can share his/her experience. Else we’ll try to look at the Dockercon videos, blogs etc and attempt to summarize it.
2. Hands-on with DockerFiles – Ramchandra Palekar, ElasticScalability
3. Demo of cAdvisor - Himanshu Roy, Red Hat
This time we were not able to do “Hands-on with DockerFiles” , so it would be scheduled for next meetup.
~20-25 people attended the meetup. Some of the participants came from Chennai to attend the this meetup. ~40% of them were new to Docker, so along with my session I gave an overview of Docker as well. In my session I mostly summarized Dockercon keynotes .
After my session Himanshu gave a demo of cAdvisor, Though we were not able to see per container stats but overall stats were nicely shown on the browser. I think this is very useful tool and would use it regularly.
During my session I also share the coupon code which @vcoisne gave me, through which one setup few private repositories in Docker Hub for free.
There have been lots of questions during the session so it very interactive. Chennai guys seems interested in starting a Docker meetup group in Chennai and I heard that a Docker meetup group in coming in Mysore as well. We also decided to have short (15 – 20 mins) Docker Intro talk in few upcoming meetups, which would help new folks to understand other talks in the meetup.
We tried to live-stream the meetup but due to some issue there was no audio. Anyways next time we’ll to do better in that front.
- Issues faced while deploying Docker in production by Ragesh (@ ) from Shippable
- Dry run of my Dokcer workshop @rootconf
Though there were less attendees in that meetup, we had good interaction.
Later in that week Rohit pinged us and suggested to talk on “Resource isolation in Docker ” as he is visiting India. We did not want to miss the chance to hear from him so organized the second meetup of May.Later he agreed to talk on “Docker Internals”. I thought it would be good idea to have some introductory on Go language, so reached out #golang Bangalore G+ community to find out a speaker. Shivakumar GN agreed to take that up. Also Roshan volunteered to talk on Chef and Docker. With that we had following agenda :-
This time participation was better. ~40 people attended the meetup.
We also tried to live stream and record the video. Though quality was not that great but a good start .
We plan to do more hands on with #docker and #golang in future meetups.
We had second Bangalore Docker meetup @ Red Hat Office on 22nd Feb’14. ~65 people registered for the event though only 40 – 45 people turned up, which I think is pretty good.
We started the session with a round of introduction from everyone. Not many attendees used Docker before, so I hope the sessions were help for them.
Vijay Bellur started the session by giving an overview on of Red Hat and Docker and how Red Hat is planning to integrate Docker with GlusterFS, OpenShift Origin and RDO (Red Hat OpenStack).
Next session was from Vamsee Kanakala Introduction to Docker. It was very information and gave very good overview of Docker
Venky Shankar then gave quick and nice Demo. He covered basic Docker commands like how to get the image, start a container, commit it etc. After Venky’s talks Gawtham Sadasivam shared his experience to create a docker file.
At the end we had some snacks and open discussion. Thanks a lot for Docker team for sending Docker T-shirts for speakers and stickers for everyone.
I hope everyone learnt something new during the meetup. Hope to have next meetup soon.
$ yum install docker-io -y $ systemctl enable docker.service ln -s '/usr/lib/systemd/system/docker.service' '/etc/systemd/system/multi-user.target.wants/docker.service' $ systemctl start docker.service $ docker version Client version: 0.7.6 .. Server version: 0.7.6
and then started a Fedora container
$ docker run -i -t mattdm/fedora /bin/bash
Once I am inside the container I installed GlusterFS packages
bash-4.2# yum install glusterfs glusterfs-server -y
And then tried to create volume
bash-4.2# /usr/sbin/glusterd bash-4.2# gluster volume create vol 172.17.0.3:/mnt/brick/ force
but I got following error:-
volume create: vol: failed: Glusterfs is not supported on brick: 172.17.0.3:/mnt/brick. Setting extended attributes failed, reason: Operation not permitted.
From above error it looked as setting up extended attributes are not supported, which is a basic need to use GlusteFS. So I tried to test them manually. I was able to set extended attributes in user namespace but not in trusted namespace.
bash-4.2# yum install attr -y bash-4.2# setfattr -n user.foo1 -v "bar" a bash-4.2# touch a; setfattr -n trusted.foo1 -v "bar" a setfattr: a: Operation not permitted
With some internet search I figured out that CAP_SYS_ADMIN is needed for setting up extended attributes in trusted namespace and to get that inside docker we need to run an image with –privileged=true option like
$ docker run --privileged=true -i -t mattdm/fedora /bin/bash
With that I was able to create the volume and start it
bash-4.2# gluster volume create vol 172.17.0.3:/mnt/brick/ force bash-4.2# gluster volume start vol
But when I tried to mount the volume I got following error:-
E [mount.c:267:gf_fuse_mount] 0-glusterfs-fuse: cannot open /dev/fuse (No such file or directory)
this turned out to be image specific problem, which I am using (mattdm/fedora). I had to mknod for /dev/fuse
bash-4.2# mknod /dev/fuse c 10 229
and after that I was able to mount volume.
On Fedroa 20 for docker version 0.7.6 the default storage driver for docker is device-mapper on which extended attributes are supported. AUFS storage driver does not support extended attributes as of now.I have tried with btrfs storage driver with docker 0.8 as well and was able to use GlusterFS. To use btrfs storage driver, we need to start docker daemon with following command :-
$ docker -d -s btrfs
Above will only work if Docker is running on a btrfs partition already prepared by the host system.
In last week of our course Understanding Media by Understanding Google we have to answer question similar to mentioned above. Here is my take on that:-
We love convenience !! We are always willing to pay something extra for it. The payment we make may, not be the direct one. Lets say you want to have pizza at home on a rainy day and you following options :-
- Cook yourself
- You like pizza from shop A but it does not do home delivery
- Order a pizza from the shop B, which provides OK kind of pizza but do free home delivery.
For simplicity lets assume cost of each of the above option is same. Given the above choices most of us, including myself going to opt of the 3rd options because :-
- We’ll get pizza at home without doing addtional work.
- No need to take a break from on-going activity like watching football/baseball etc to cook or drive to the shop.
- No need to pay extra money.
By ordering pizza from shop B, we are compromising the on the quality and bit on our taste. This is an indirect price we are paying for the convenience. On the internet lets try to compare this indirect price with :-
- Increased data collection and sharing by internet giants.
- decrease in anonymity.
- loss of personal touch with friends, relatives.
In 21st Century, due to high demanding work, traffic, choices etc; I think it is worth paying some indirect price for the convenience we are getting. We save time, money which are two of the most important things which improve life in 21st Century. As mentioned by Jeff Jarvis in Economist Debate on Social Networking “We are sharing for good reason—not because we are insane, exhibitionistic, or drunk. We are sharing because, at last, we can, and we find benefit in it.”
Until we are just paying limited indirect price we would be able to make perfect balance in our public and private life. The problem starts when we become greedy and start ordering pizzas from some low standard shops which charges less money and deliver at home. This would eventually kill our taste and we would forget the original joy of having the pizza. Similar thing applies on what we share on the internet. We just be careful on what we share !!.
In second last week of our course Understanding Media by Understanding Google we have to answer question similar to mentioned above. Here is my take on that.
Lets say our referred in the question is me. While at work or otherwise when I am engaged with my primary activity I do Google searches and browse the internet to somehow enhance and deepen my understand with it. Here is my observation :-
- About 70% of the time that would help me to finish my primary activity or job quickly like finding howto instructions to setup a development environment etc.
- For rest 30% of the it can’t help like stop a crying a baby.
Because of our high success rate we hope to find every answer on the internet even when our primary activity has more to do with personal relations, friends. Other than high success rate we get answers within few minutes, even if we have to skim through multiple search results. This increases our expectation at all fronts of life. And we end up :-
- doing multitask.
- having urge to be connected with internet all the time.
- not paying attention to content of one link as we want to skim through more.
- responding to non-urgent stuff urgently like FB post, chat pings.
- not paying enough attention to the person in front of us.
As mentioned in Joe Kraus video our mind is not designed to do multitask as computers and we are 40% less productive if we do so. I think this true in most of the cases. Only is very few cases context switching between multiple things/work helps and we have to careful when we do that. On the contrary all the internet giants are trying to make internet as part of everyday. They are urging you keep connected all the time. Because this means business as mentioned in Nicholas Carr, “Is Google Making Us Stupid? article.
Clearly the choice is ours and we shouldn’t use the technology at the cost of personal relation.