Mark Buckler September 8, 2017

Slides:



Advertisements
Similar presentations
Windows Deployment Services WDS for Large Scale Enterprises and Small IT Shops Presented By: Ryan Drown Systems Administrator for Krannert.
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.
Docker Martin Meyer Agenda What is Docker? –Docker vs. Virtual Machine –History, Status, Run Platforms Hello World Terminology: Image and.
ProjectWise Virtualization Kevin Boland. What is Virtualization? Virtualization is a technique for deploying technologies. Virtualization creates a level.
Windows Azure Conference 2014 Running Docker on Windows Azure.
#RefreshCache Redmine Learn why RefreshCache is the community developer's new best friend. Daniel Hazelbaker Information Technology Director.
CONNECT: Install Webinar for Code-A-Thon April 20th, 2010.
CONNECT: Install Webinar for Code-A-Thon September 7 th, 2010.
Git – versioning and managing your software L. Grewe.
GIT An introduction to GIT Source Control. What is GIT (1 of 2) ▪ “Git is a free and open source distributed version control system designed to handle.
By Rashid Khan Lesson 10-From Here to There: Remote Installation of the Windows XP Professional Client.
Version Control. How do you share code? Discussion.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Team 708 – Hardwired Fusion Created by Nam Tran 2014.
GAAIN Virtual Appliances: Virtual Machine Technology for Scientific Data Analysis Arihant Patawari USC Stevens Neuroimaging and Informatics Institute July.
IPT – Getting Started June Online Resources Project Website Requirements Server Preparation Installation Running IPT Installation Demo Upgrade/Reinstall.
Containers, Docker and Virtuozzo
1 Introduction to Shared Folders Shared folders provide network users access to files. Users connect to the shared folder over the network. Users must.
Repository Manager 1.3 Product Overview Name Title Date.
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.
Deploying Elastic Java EE Microservices in the Cloud with Docker
Advanced Computing Facility Introduction
Source Code Control For CSE 3902 By: Matt Boggus.
Outline Installing Gem5 SPEC2006 for Gem5 Configuring Gem5.
Containers as a Service with Docker to Extend an Open Platform
Fundamentals Sunny Sharma Microsoft
Reproducible Bioinformatics
Git & Github Timothy McRoy.
Docker and Azure Container Service
GIT AND GITHUB WORKSHOP
The Use of AMET and Automated Scripts for Model Evaluation
Version Control.
Docker Birthday #3.
Version Control overview
In-Depth Introduction to Docker
Docker – kontejnerizacija na serveru Vedran Vučetić, SPAN
Machine Learning Workshop
Containers and Virtualisation
Revision Control, Automated Testing and Docker RSE Conference 2017
Atomic Gerard Braad FUDCon Phnom Penh 2016
Tuque 4 For Windows, OS/X & Linux
Andrew Pruski SQL Server & Containers

Integration of Singularity With Makeflow
Windows Server & Hyper-V Containers Vaggelis Kappas
Coding in the Cloud This slide deck includes recorded video demonstrations of content from the live presentation. Joon-Yee.
Chapter 2 Objectives Identify Windows 7 Hardware Requirements.
Source Code Management
Azhagappan Arunachalam
Introduction to Docker
OPS235: Week 1 Installing Linux ( Lab1: Investigations 1-4)
Intro about Contanier and Docker Technology
Learn. Imagine. Build. .NET Conf
Dovetail & CVP Tutorial/Demo
OPS235: Week 1 Installing Linux ( Lab1: Investigations 1-4)
GitHub A Tool for software collaboration James Skon
Openstack-alapú privát felhő üzemeltetés
JENKINS TIPS Ideas for making your life with Jenkins easier
SUSE Linux Enterprise Desktop Administration
Software Development - Version Control
These slides are for reference only. They are not "lecture notes"
CloudOpting - Hackathon
Version Control with Git and GitHub
Introduction to Docker
Roots/Git to Deploy What is continuous integration and continuous delivery How they are used at the Innovation Co-Lab Victor Wang, Software Engineer &
Azure Container Service
Harrison Howell CSCE 824 Dr. Farkas
Enol Fernandez & Giuseppe La Rocca EGI Foundation
Deploying machine learning models at scale
Presentation transcript:

Mark Buckler September 8, 2017 Developing In Docker Mark Buckler September 8, 2017

Motivation Modern code is heavily dependent on packages/libraries Installing dependencies can be time consuming, especially if installation instructions are incomplete or wrong Multiple dependency versions can be cumbersome Bit rot can break make environments Summary: Huge headache for people reproducing research as well as general users and developers

The Solution = Docker Users/co-developers can run your code without needing to install dependencies on their machine Users/co-developers can maintain multiple dependency versions on a server without conflicts Environments can be “pulled” as simply as cloning from a GitHub repository, and therefore can easily be moved between multiple machines

What is Docker?

Development or Deployment Environment How Do I Use It? Dockerfile Docker Hub Docker Image pull build push run Docker Container Development or Deployment Environment

Writing a Dockerfile

Running a Docker Container: Volumes docker pull mbuckler/approx-vision docker run \ -v <path to datasets>:/datasets \ -v <path to approx-vision>:/approx-vision \ -it mbuckler/approx-vision \ /bin/bash

What About GPU Use? NVIDIA Docker

What About X Windows (GUIs)? Include the X packages in your Docker image Set the path to your .Xauthority file (and make if no ssh) Use host’s networking stack & connect your displace and Xauthority environment file when you run the container

Docker Downsides Storing many Docker images can fill up disk space Docker users have sudo privilege on the local machine when running containers. Two options: Require that docker users run containers by invoking sudo Use docker group - Users have sudo privileges in container, not out

Conclusion Docker is very useful! Highly recommended for people who… I use it every day in my research Highly recommended for people who… Want their code to be easy to run (Docker for brg/pymtl?) Need to install many diverse sets of dependencies (deep learning) These instructions will be on the CSL wiki and my website www.markbuckler.com/post/docker-use/