Johan Janssen, Info Support. Internet of Things Docker and Java on a Raspberry Pi Jenkins Questions.

Slides:



Advertisements
Similar presentations
1 Institutional Repository Workshop 1 – 3 April 2009 Presented by Leonard Daniels.
Advertisements

Kat Passen.  Open source platform to manage deployment  Acts as a layer between an OS and an application  Images not dependent on system – similar.
Introduction to Virtualization
Jonas Lippuner. Overview IPCop  Introduction  Network Structure  Services  Addons Installing IPCop on a SD card  Hardware  Installation.
1 Web Server Administration Chapter 3 Installing the Server.
Lesson 5-Accessing Networks. Overview Introduction to Windows XP Professional. Introduction to Novell Client. Introduction to Red Hat Linux workstation.
Docker Martin Meyer Agenda What is Docker? –Docker vs. Virtual Machine –History, Status, Run Platforms –Hello World Images and Containers.
Docker Martin Meyer Agenda What is Docker? –Docker vs. Virtual Machine –History, Status, Run Platforms Hello World Terminology: Image and.
Johan Janssen, Info Support. Continuous delivery Docker Jenkins Questions.
Overview Basic functions Features Installation: Windows host and Linux host.
Embedded Programming and Robotics Lesson 12 Introducing the Raspberry Pi Intro to Raspberry Pi1.
Red Hat Installation. Installing Red Hat Linux is the process of copying operating system files from a CD, DVD, or USB flash drive to hard disk(s) on.
Microsoft Windows 2003 Server. Client/Server Environment Many client computers connect to a server.
One to One instructions Installing and configuring samba on Ubuntu Linux to enable Linux to share files and documents with Windows XP.
Johan Info Support. Internet of things Continuous delivery Docker Jenkins Questions.
1 Web Server Administration Chapter 3 Installing the Server.
Chromium OS is an open-source project that aims to build an operating system that provides a fast, simple, and more secure computing experience for people.

Windows Azure Conference 2014 Running Docker on Windows Azure.
Guide to Linux Installation and Administration, 2e1 Chapter 3 Installing Linux.
Kernel Development using Virtualization Installing VMWare and using a virtual machine to build and test a Linux Kernel.
VMWare Workstation Installation. Starting Vmware Workstation Go to the start menu and start the VMware Workstation program. *Note: The following instructions.
CONNECT: Install Webinar for Code-A-Thon April 20th, 2010.
Model a Container Runtime environment on Your Mac with VMware AppCatalyst VMworld Fabio Rapposelli
1 Web Server Administration Chapter 3 Installing the Server.
Plesk for Windows Server Automation SWSOFT GLOBAL HOSTING SUMMIT 2006 Todd L. Crumpler May 30-June 1, 2006.
Chap 1 ~ Introducing LINUX LINUX is a free-stable multi-user operating system that derives from UNIX operating system Benefits: 1) Linux is released under.
Cloud Computing & Amazon Web Services – EC2 Arpita Patel Software Engineer.
Step By Step Windows Server 2003 Installation Guide Step By Step Windows Server 2003 Installation Guide.
Johan Janssen, Info Support. Continuous delivery Docker Jenkins Questions.
Vagrant workflow Jul. 15, 2014.
INFSO-RI Enabling Grids for E-sciencE Installation of an APT+kickstart server Giuseppe Platania INFN Catania EMBRACE Tutorial Clermont-Ferrand,
What is a port The Ports Collection is essentially a set of Makefiles, patches, and description files placed in /usr/ports. The port includes instructions.
Johan Janssen, Info Why Docker Different options Things to consider Questions.
Docker and Container Technology
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Docker Overview Automating.
Microsoft Desktop Virtualization Kiran N R Optimized Desktop – TSP Microsoft Corporation.
Installing Koha Presented By Aaron R. Williams KOHA North American Users Group.
Predrag Buncic (CERN/PH-SFT) Software Packaging: Can Virtualization help?
36 th LHCb Software Week Pere Mato/CERN.  Provide a complete, portable and easy to configure user environment for developing and running LHC data analysis.
Raspberry Pi Project Control Your Home Lights with a Raspberry Pi.
 Prepared by: Eng. Maryam Adel Abdel-Hady
Advancing CernVM-FS and its Development Infrastructure José Molina Colmenero CERN EP-SFT.
Alfresco deployment with Docker Andrea Agili Software Engineer – Dr Wolf srl Tommaso Visconti DevOps – Dr Wolf srl.
Lucas Jellema JavaOne 2015, San Francisco, 26th October 2015 Java Developer Intro to Environment Management with Vagrant, Puppet, and Docker.
Using Docker in a CyVerse World. To install Docker GO TO Click “Get Started”, follow the directions.
Chap 1 ~ Introducing LINUX LINUX is a free-stable multi-user operating system that derives from UNIX operating system Benefits: 1) Linux is released under.
Canadian Bioinformatics Workshops
Linux Containers and Docker
Operating System Kernel Compilation
bitcurator-access-webtools Quick Start Guide
Kickstart drupal development
RASPBERRY PI WORKSHOP.
Guide to Linux Installation and Administration, 2e
Docker and Azure Container Service
In-Depth Introduction to Docker
Containers and Virtualisation
Andrew Pruski SQL Server & Containers
Lab 1 introduction, debrief
Operating System Kernel Compilation
INSTALLING AND SETTING UP APACHE2 IN A LINUX ENVIRONMENT
Intro to Docker Containers and Orchestration in the Cloud
Building an Internet of Things Device
Multichain – day1 Umashankar Somasekar.
bitcurator-access-webtools Quick Start Guide
Docker Some slides from Martin Meyer Vagrant Box:
CloudOpting - Hackathon
Introduction to Docker
Azure Container Service
Presentation transcript:

Johan Janssen, Info Support

Internet of Things Docker and Java on a Raspberry Pi Jenkins Questions

Huge and still growing Not stable yet, lots of innovation Cool new technologies Suitable for Java!

Continuous Delivery Virtual machines Provisioning (Chef, Puppet, Vagrant …) Version control / infrastructure as code Isolation Updating and synchronizing environments

To enable continuous delivery Quickly provision environments Easy to roll forward Security For instance to run ‘untrusted’ applications like a Dropbox client Alternative for virtual machines On top of virtual machines

Disk space efficiency Memory efficiency Speed Compatibility (run anywhere) Isolation Versioning Internet of Things (Raspberry Pi etc.)

Simple general commands No Domain Specific Language (DSL) Configuration with operating system commands

Since March 2013 More than contributors Downloaded million times More than Dockerized apps More than 90 user groups, DockerCon (Europe) Support from Google, VMWare, RackSpace, Red Hat, IBM, Microsoft etcetera

Docker on Ubuntu apt-get install docker.io docker.io run -i -t ubuntu:saucy /bin/bash

Docker on the Raspberry Pi docker run -i –t resin/rpi-raspbian /bin/bash

Download Arch Linux unzip ArchLinuxARM rpi.img.zip Find SD card: sudo fdisk -l sudo dd bs=1M if=ArchLinuxARM rpi.img of=/dev/sdX Change partitions (optional) Put the SD card in the Raspberry Pi and boot username and password are both ‘root’

Update repositories pacman –Syy Optional update al packages: pacman -Syu Install Docker pacman -S docker

Start Docker service systemctl start docker Auto start Docker service on boot systemctl enable docker Reboot

cp /etc/netctl/examples/ethernet-static /etc/netctl/static Edit /etc/netctl/static Description='A basic static ethernet connection' Interface=eth0 Connection=ethernet AutoWired=yes IP=static Address=(' /24') Gateway=' ' DNS=(' ')

Enable static ip netctl enable static Disable static ip mv /etc/netctl/static /etc/netctl/examples/

FROM resin/rpi-raspbian RUN apt-get update RUN apt-get install -y openjdk-7-jre-headless wget RUN wget -O /tmp/tomcat8.tar.gz tar.gz RUN (cd /opt && tar zxf /tmp/tomcat8.tar.gz) RUN (mv /opt/apache-tomcat* /opt/tomcat) ENV JAVA_HOME /usr/lib/jvm/java openjdk-armhf RUN rm -rf /opt/tomcat/webapps/docs /opt/tomcat/webapps/examples /opt/tomcat/webapps/host-manager /opt/tomcat/webapps/manager EXPOSE 8080 CMD ["/opt/tomcat/bin/catalina.sh", "run"]

FROM resin/rpi-raspbian RUN apt-get install -y openjdk-7-jre-headless wget ENV JAVA_HOME /usr/lib/jvm/java openjdk- armhf EXPOSE 8080 CMD ["/opt/tomcat/bin/catalina.sh", "run"]

FROM tomcat ADD DockerPiExample.war /opt/tomcat/webapps/

Main directory BuildAndRunScript.sh Tomcat Dockerfile TomcatExtra Dockerfile DockerPiExample.war

Create the Dockerfiles Build the containers cd Tomcat (optional) docker build -t tomcat. (optional) cd.. (optional) cd TomcatExtra docker build -t tomcatextra.

Start the container docker run -p 8080:8080 -d tomcatextra

April Fools prank It might become real

Start / stop / restart docker [start/stop/restart] containerid Follow SystemOut and SystemErr docker logs -f containerid

Show (running) containers docker ps –a Show processes running in container docker diff containerid Show changes in the container docker top containerid

Stop all containers docker.io stop $(docker.io ps -a -q) Remove all containers docker.io rm $(docker.io ps -a -q) Remove all images docker.io rmi $(docker.io images -q)

Creating the Docker registry docker run -p 5000:5000 registry

Change container (using touch for instance) Commit docker.io commit 064f :5000/test-version-0.2 New containerid -> ff7e Push docker.io push :5000/test-version-0.2

Pull docker.io pull :5000/test-version-0.2 Run docker.io run -i -t ff7e /bin/bash

docker images -tree └─153bf43b408a MB test-version-0.1:latest docker pull :5000/test-version-0.2 ff7e110ebadd: Download complete 153bf43b408a: Download complete docker images -tree └─153bf43b408a MB test-version-0.1:latest └─ff7e110ebadd MB test-version-0.2:latest

Commands are easier Faster and easier migration

Requires less extra resources Containers are the same, for instance when using apt-get update Not the latest security patches

GeneralBase AppServerBase Environment D Environment T Environment A Environment P Jenkins JenkinsDataContainer SonarGitblitNexus

# docker.io images --tree └─ MB Tags: ubuntu:saucy └─253.6 MB └─741.8 MB Tags: GeneralBase:latest └─763.6 MB Tags: AppServerBase:latest ├─763.6 MB Tags: EnvironmentP:latest └─865.6 MB Tags: Nexus:latest └─808.3 MB Tags: Gitblit:latest └─901.5 MB Tags: Sonar:latest └─805.4 MB Tags: Jenkins:latest

real4m11.729s user0m3.329s sys0m10.054s

Simple to use Really popular Used in many organizations Regular updates Big community creating plugins etc. Most developers already use it

Deploy the first container when the hardware is nearby this saves network traffic Use a (private) Docker registry Keep environmental settings separate Start playing with Docker!

Big potential market for Docker and Java Easy to use Highly flexible and customizable