Kat Passen.  Open source platform to manage deployment  Acts as a layer between an OS and an application  Images not dependent on system – similar.

Slides:



Advertisements
Similar presentations
POS/420 Philip Robbins – March 19, 2013 (Week 2) University of Phoenix Mililani Campus Introduction to Unix.
Advertisements

Exploring the UNIX File System and File Security
GNU/Linux Filesystem 1 st AUT GNU/Linux Festival Computer Engineering & IT Department Bahador Bakhshi.
The UNIX File System.
Processes & Daemons Chapter IV / Part III. Commands Internal commands: alias, cd, echo, pwd, time External commands, code is in a file: grep, ls, more.
Build Test Integrat e Deploy Develop Languages Frameworks Cloud and Infra Data platforms.
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.
Guide To UNIX Using Linux Third Edition
Chien-Chung Shen Google Compute Engine Chien-Chung Shen
File System and Directory Structure in Linux. What is File System In a computer, a file system is the way in which files are named and where they are.
Guide To UNIX Using Linux Fourth Edition
1 THE UNIX FILE SYSTEM By Chokechai Chuensukanant ID COSC 513 Operating System.
Manage Directories and Files in Linux
Windows Azure Conference 2014 Running Docker on Windows Azure.
Johan Janssen, Info Support. Continuous delivery Docker Jenkins Questions.
Drexel University Software Engineering Research Group Git for SE101 1.
Chapter Two Exploring the UNIX File System and File Security.
Linux Introduction What is Linux? How do you use it?
USING YOUR INSTALLED LINUX SYSTEM.  Common Linux Tasks  Installing Custom Packages  Common GUI Applications  Command Line Shell  Directory Structure/Navigation.
UNIX (Linux) Introduction Module-1. OS Kernel In computing, the kernel is the central component of OS. It is a bridge between applications and the actual.
Linux file system "On a UNIX system, everything is a file; if something is not a file, it is a process." Sorts of files (on a Linux system) Directories:
Manage Directories and Files in Linux. 2 Objectives Understand the Filesystem Hierarchy Standard (FHS) Identify File Types in the Linux System Change.
Chapter Two Exploring the UNIX File System and File Security.
Linux Overview Why Linux ? Not-so-ancient history –Torvalds, Linus Torvalds, 002 the Helsinki University, as a student, low budget, work home –rapid and.
Review Please hand in any homework and practicals Vim Scripting Inter-device communication.
UNIX History - joint venture between MIT and Bell Labs (originally called Multics) – Ken Thompson (AT&T) created an operating system to run Space.
Linux Commands C151 Multi-User Operating Systems.
PTA Linux Series Copyright Professional Training Academy, CSIS, University of Limerick, 2006 © Workshop V Files and the File System Part B – File System.
Chapter 10: File-System Interface Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 1, 2005 File-System Interface.
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.
Lab 8 Overview Apache Web Server. SCRIPTS Linux Tricks.
A Brief Overview of Unix Brandon Bohrer. Topics What is Unix? – Quick introduction Documentation – Where to get it, how to use it Text Editors – Know.
LINUX Zhengli Zhu, School of Life Sciences. Outline 1. ABC of Linux 2. Basic orers of Linux 3. Bash Programming.
Alfresco deployment with Docker Andrea Agili Software Engineer – Dr Wolf srl Tommaso Visconti DevOps – Dr Wolf srl.
Installing git In Linux: sudo apt-get install git In Windows: download it from run the setuphttp://git-scm.com/download/win.
ORAFACT The Linux File System. ORAFACT Filesystem Support Support for dozens of filesystem types including: Minix, ext2, MS-DOS, UMSDOS, VFAT, NTFS, NFS,
Linux Administration – Finding You Way on the Command Line The Linux File Directory or Tree.
Linux Containers and Docker
Fundamentals Sunny Sharma Microsoft
Linux 101 Training Module Linux Basics.
Welcome to Linux Chap#1 Hanin Abdulrahman.
UBUNTU INSTALLATION
Linux file system "On a UNIX system, everything is a file;
Linux/Unix - Download Ubuntu Linux :
Docker in Action.
In-Depth Introduction to Docker
Docker – kontejnerizacija na serveru Vedran Vučetić, SPAN
Machine Learning Workshop
linux and related thing
Containers and Virtualisation
Command Line Interface for Beginners
B3Africa Training Workshop The BIBBOX – Installation and Configuration
9 Linux on the Desktop.
Introduction to UNIX.
Windows Server & Hyper-V Containers Vaggelis Kappas
Introduction to Docker
Exploring the UNIX File System and File Security
Operating Systems Lecture 4.
Docker, Drupal and Persistence
Mark Buckler September 8, 2017
Docker Some slides from Martin Meyer Vagrant Box:
CloudOpting - Hackathon
Introduction to Docker
Welcome to Linux Chap#1 Hanin Abdulrahman.
Welcome to Linux Chap#1.
Azure Container Service
Container technology, Microservices, and DevOps
Presentation transcript:

Kat Passen

 Open source platform to manage deployment  Acts as a layer between an OS and an application  Images not dependent on system – similar to the JVM  Provides a “global standard” to code against

 VMs require apps to be containered within the guest OS  Potentially 1:1 on VM:application  Docker sits between the app and the host OS  Takes place of the hypervisor  Runs images as an isolated process  Only the app and its libraries are compartmentalized instead of requiring the guest OS share that space as well

 Installation:  Available on a variety of platforms: ▪ Your favorite *nix ▪ Windows ▪ Rackspace, EC2, G-Cloud, etc

 Requirements:  iptables  git  procps or similar  XZ Utils  A cfgroups hierarchy  Kernel requirements vary by distribution, general recommendation is v3.8+

 Important: Docker runs as root Giving non-root access The docker daemon always runs as the root user, and the docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root, and so, by default, you can access it with sudo. If you (or your Docker installer) create a Unix group called docker and add users to it, then the docker daemon will make the ownership of the Unix socket read/writable by the docker group when the daemon starts. The docker daemon must always run as the root user, but if you run the docker client as a user in the docker group then you don't need to add sudo to all the client commands.

 Docker Engine  Client-server application  Handles running images, registries and containers  Docker Hub  Public Docker registry  Holds a collection of existing images to be used publicly  Image examples: Ubuntu, Node.js, MongoDB, WordPress

 Integrates with Github and Bitbucket  Operates similar to them as well  Hosts images that can be used and contributed to by the Docker community  Location that Docker pulls and pushes to

 Tutorial:  Operates similar to any other *nix command line application

 Interactive containers:  $ sudo docker run -t -i ubuntu:14.04 /bin/bash ▪ -t creates a pseudo-terminal ▪ -i captures STDIN  Results (example):  pwd / ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var

 Hello world daemon  $ sudo docker run -d ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done“ ▪ -d runs containers in the background (daemonizes them)  This example returns a container ID, which you can use to interact with the container running that command  To stop a container, use docker stop $container_name

 Docker’s example runs a Python Flask app:  $ sudo docker run -d -P training/webapp python app.py ▪ -P: map required network ports inside the container to the host  Check results with sudo docker ps –l : ▪ CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bc533791f3f5 training/webapp:latest python app.py 5 seconds ago Up 2 seconds :49155->5000/tcp nostalgic_morse ▪ -l: tells docker ps to return the last container started

 Ports: super malleable  -P is a shortcut for –p 5000  Docker generally picks a high external port to map to  Can run 1:1 on your port mappings, but this way you can have multiple apps thinking they’re on the same port  Lookup: use docker port $container_name $port

 View logs: docker log $container_name  Add -f and it behaves the same as tail –f  Other neat things:  docker top – same as standard top  docker inspect – returns a JSON hash of config and status info  docker tag – set a tag on an image (e.g. ‘devel’)

 Start/stop/restart  docker start $container_name  docker stop $container_name  docker restart $container_name  Removing things  Containers: ▪ docker rm $container_name ▪ Container in question has to be stopped first  Images: ▪ docker rmi $image_name  All deletions are final

 Updating and committing to an existing image:  Create a container from the image you want to update  Add what you want to the container, exit  Commit changes: ▪ $ sudo docker commit -m="Added json gem" -a="Kate Smith" 0b2616b0e5a8 ouruser/sinatra:v2 ▪ Params after flags: source container ID and user/target_name:tag

 Build an image from a Dockerfile  Dockerfile: set of instructions telling Docker how to create an image  Takes the format of INSTRUCTION statement ▪ # This is a comment FROM ubuntu:14.04 MAINTAINER Kate Smith RUN apt-get update && apt-get install -y ruby ruby-dev RUN gem install sinatra

 Build an image from a Dockerfile (cont)  In the same directory, run docker build – t=“$image_name” $path ▪ $ sudo docker build - t="ouruser/sinatra:v2".  Now you can create a container from the new image!  Size caveat: images have a maximum of 127 layers

 In no particular order:  Dist::Zilla  Rocket  Bamboo  Jenkins  Chef  Puppet  Rex