Optimizing Docker Images
|
|
- Lorin Beasley
- 6 years ago
- Views:
Transcription
1 Optimizing Docker Images Brian DeHamer - CenturyLink Labs
2
3 Overview Images & Layers Minimizing Image Size Leveraging the Image Cache Dockerfile Tips Other Tools
4 Images & Layers
5 Interactive Image Creation Workflow for creating images by-hand docker run -it someimage Add/update/delete files docker commit docker rm *
6 Dockerfile Automate image creation with docker build Place instructions for building image in Dockerfile Commands: FROM, COPY, RUN, etc Uses the same run/commit/rm sequence as the interactive approach More repeatable/shareable than the interactive approach *
7 Image Layers Each Dockerfile instruction generates a new layer FROM busybox:latest 8c2e MAINTAINER brian 5bd ff RUN touch foo 0437ee5cf42c CMD ["/bin/sh"] 350e4f999b25
8 Image Layers An image is a hierarchical list of layers Each layer has a reference to its parent Overall image size is the sum of the sizes of the individual layers Each additional instruction you add to your Dockerfile will only ever increase the size of your image *
9 Inspecting Layers View hierarchy of all local layers docker images --tree View hierarchy of image layers w/ command docker history <TAG> View all metadata for a specific layer docker inspect <TAG> View layer directly on disk /var/lib/docker/aufs * * varies by platform
10 Images vs. Layers An image is just a tagged hierarchy of layers Every layer in an image is runnable Helpful when trying to debug Dockerfiles!"cf b4a Virtual Size: 0 B!"6ce2e90b0bc7 Virtual Size: MB!"8c2e Virtual Size: MB Tags: busybox:latest!"d6057c Virtual Size: MB!"70714dda0cf8 Virtual Size: MB Tags: foo:latest $ docker run -it d6057c /bin/sh
11 Minimizing Image Size
12 Virtual Image Size $ docker images REPOSITORY TAG IMAGE ID VIRTUAL SIZE aa latest 5927ecad7beb MB bb latest 4f02d MB cc latest f466548ecd MB debian wheezy 1265e16d0c MB ~370MB in images? Virtual size can be misleading, especially if images have layers in common
13 Reuse Your Base Image $ docker images --tree!"511136ea3c5a Virtual Size: 0 B!"4f c Virtual Size: MB!"1265e16d0c28 Virtual Size: MB Tags: debian:wheezy!"f5f93a9eb89b Virtual Size: MB #"245d46749e30 Virtual Size: MB $!"5927ecad7beb Virtual Size: MB Tags: aa:latest #"c4a4ebecb14b Virtual Size: MB $!"4f02d Virtual Size: MB Tags: bb:latest!"13f53a3a9cb5 Virtual Size: MB!"f466548ecd34 Virtual Size: MB Tags: cc:latest Shared layers are re-used across images ~115 MB in images!
14 Base Images Image Name fedora:21 ubuntu:trusty Size 241 MB 188 MB debian:wheezy 85 MB alpine:3.1 5 MB busybox:latest 2 MB scratch 0 B
15 Language Images Image Name ruby:2.2 python:3.4 perl:5.20 node:0.12 java:7-jdk golang:1.4 Size 775 MB 754 MB 724 MB 706 MB 586 MB 514 MB
16 Command Chaining Beware of creating unnecessary layers with your Dockerfile commands FROM debian:wheezy WORKDIR /tmp RUN wget -nv RUN tar -xvf someutil-v1.0.tar.gz RUN mv /tmp/someutil-v1.0/someutil /usr/bin/someutil RUN rm -rf /tmp/someutility-v1.0 RUN rm /tmp/someutility-v1.0.tar.gz
17 Command Chaining Chaining commands allows you to clean-up before the layer is committed FROM debian:wheezy WORKDIR /tmp RUN wget -nv && \ tar -xvf someutil-v1.0.tar.gz && \ mv /tmp/someutil-v1.0/someutil /usr/bin/someutil && \ rm -rf /tmp/someutility-v1.0 && \ rm /tmp/someutility-v1.0.tar.gz
18 Clean-up After Yourself Try to remove any intermediate/temporary files that you don't need in your final image FROM debian:wheezy RUN apt-get update && \ apt-get install -y curl wget git && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
19 Flattening Images Can sometimes reduce size by combining layers docker export <id> docker import - Lots of other tools and Docker proposals for combining image layers Not really recommended
20 Pack Only What You Need Start with FROM scratch and package only the bins/libs you need for your app Use cde to profile your app and identify dependencies Statically-linked binaries w/ no dependencies (C, Go, etc ) centurylink/golang-builder: helps compile statically-linked Go apps and package in minimal Docker containers centurylink/ca-certs: base image that is just scratch plus the standard root CA certificates (257 KB)
21 Leveraging the Image Cache
22 Image Cache All built or pulled layers are saved in the local image cache Docker won t rebuild an unchanged layer (unless you force it to) Significant increase in build speed when iterating on Dockerfile Cache is invalidated for a layer if either the Dockerfile instruction or the parent layer is changed *
23 Build Context The final argument to docker build is typically the build context Allows you to inject local files into your image using the COPY instruction Changes to copied files will also invalidate image cache Dockerfile must be located within the build context *
24 Top-to-Bottom Place the instructions least likely to change at the top of your Dockerfile Make changes/additions at the bottom Place instructions you use across all of your images (MAINTAINER) at the top so they can be re-used across all images
25 .dockerignore Place.dockerignore in the root of build context with list of file/directory patterns to be excluded from build context Very much like.gitignore Helpful when copying the entire build context and want to selectively ignore files FROM busybox:latest COPY. /somedir/ *
26 Beware of Idempotent Operations Instructions that may return different results depending on when they are executed apt-get update, git clone, go get, etc Cached layer may not contain what you expect Can use --no-cache flag with docker build to ignore cache Use strategic command chaining to bust cache
27 Bust Cache with Chained Commands Updating branch name does NOT invalidate cache WORKDIR /tmp RUN git clone RUN git checkout v1.0 Updating branch invalidates cache WORKDIR /tmp RUN git clone && \ git checkout v1.0
28 Dockerfile Tips
29 ADD vs. COPY ADD & COPY instructions both add files/directories to the container ADD can also handle URLs as a source and will automatically extract archives COPY added in Docker 1.0 and only copies files/dirs Use COPY unless there is a specific feature of ADD you absolutely need
30 Repeatable Image Builds Ideally, anyone should be able to build your Dockerfile at any time and get the same result Vague dependencies can result in unpredictable builds RUN apt-get update && apt-get install -y hello vs RUN apt-get update && apt-get install -y hello=2.8-4
31 Shell Variables Each Dockerfile instruction is executed in a new container with a new shell Don t try RUN export FOO=BAR RUN cd /tmp RUN su - someuser Instead use ENV FOO=BAR or RUN FOO=BAR /some/command/that/needs_foo WORKDIR /tmp USER someuser
32 Other Tools / Resources
33 centurylink/dockerfile-from-image Reverse-engineers a Dockerfile from a Docker image Can't recreate ADD or COPY commands exactly $ docker run --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ centurylink/dockerfile-from-image dice FROM debian:wheezy MAINTAINER brian@dehamer.com RUN apt-get update RUN apt-get install -y rolldice CMD ["/usr/games/rolldice" "6"]
34 centurylink/image-graph See relationships between layers in your local image cache
35 imagelayers.io Visualize images on the Docker Hub See layers shared between different images See the instruction for each layer Get information about image size Coming soon! Available now!
36 Additional Reading CenturyLink Labs Blog Best Practices for Writing Dockerfiles Squashing Docker Images - Jason Wilder Create the Smallest Possible Docker Container - Adriaan de Jonge
37 Thanks! Brian DeHamer - CenturyLink Labs
Containers. Pablo F. Ordóñez. October 18, 2018
Containers Pablo F. Ordóñez October 18, 2018 1 Welcome Song: Sola vaya Interpreter: La Sonora Ponceña 2 Goals Containers!= ( Moby-Dick ) Containers are part of the Linux Kernel Make your own container
More informationVersion Control. Software Carpentry Github s Hello World Git For Ages 4 And Up You need source code control now
A version control system (VCS) is a tool or system for keeping track of changes in files. A primitive form of VCS would be making a copy of a file every time you want to make a new version of the file.
More informationDockerfile Best Practices
Dockerfile Best Practices OpenRheinRuhr 2015 November 07th, 2015 1 Dockerfile Best Practices Outline About Dockerfile Best Practices Building Images This work is licensed under the Creative Commons Attribution-ShareAlike
More informationCross platform enablement for the yocto project with containers. ELC 2017 Randy Witt Intel Open Source Technology Center
Cross platform enablement for the yocto project with containers ELC 2017 Randy Witt Intel Open Source Technology Center My personal problems Why d I even do this? THE multiple distro Problem Yocto Project
More informationIntroduction to GIT. Jordi Blasco 14 Oct 2011
Jordi Blasco (jblasco@xrqtc.com) 14 Oct 2011 Agenda 1 Project information Who is ussing GIT 2 Branch Tag Data Transport Workow 3 Congure 4 Working with remotes 5 Project information Who is ussing GIT Project
More informationBioshadock. O. Sallou - IRISA Nettab 2016 CC BY-CA 3.0
Bioshadock O. Sallou - IRISA Nettab 2016 CC BY-CA 3.0 Containers 2 Docker, LXC, Rkt and Co Docker is the current leader in container ecosystem but not alone in ecosystem Rkt compatible with Docker images
More informationDocker & why we should use it
Docker & why we should use it Vicențiu Ciorbaru Software Engineer @ MariaDB Foundation * * Agenda What is Docker? What Docker brings to the table compared to KVM and Vagrant? Docker tutorial What is Docker
More informationAgenda. Several projects are using GIT Developer(s) Junio Hamano, Linus Torvalds. Qt Stable release (January 31, 2011)
Basic Agenda 1 Project information Who is ussing 2 14 Oct 2011 3 Basic Data Transport Work ow 4 Con gure 5 Basic Project information Who is ussing Project information Who is ussing Project information
More informationRed Hat Containers Cheat Sheet
Red Hat Containers Cheat Sheet Table of Contents Introduction Commands Key 1. Container Runtime Engine 1.A) Container Related Commands 1.B) Image Related Commands 1.C) Network Related Commands 1.D) Registry
More informationRunning Splunk Enterprise within Docker
Running Splunk Enterprise within Docker Michael Clayfield Partner Consultant 03/09/2017 1.1 Forward-Looking Statements During the course of this presentation, we may make forward-looking statements regarding
More informationDEPLOYMENT MADE EASY!
DEPLOYMENT MADE EASY! Presented by Hunde Keba & Ashish Pagar 1 DSFederal Inc. We provide solutions to Federal Agencies Our technology solutions connect customers to the people they serve 2 Necessity is
More informationDevOps Workflow. From 0 to kube in 60 min. Christian Kniep, v Technical Account Manager, Docker Inc.
DevOps Workflow From 0 to kube in 60 min http://qnib.org/devops-workflow Christian Kniep, v2018-02-20 Technical Account Manager, Docker Inc. Motivation Iteration barriers Works on my Laptop! Why is DevOps
More informationHarbor Registry. VMware VMware Inc. All rights reserved.
Harbor Registry VMware 2017 VMware Inc. All rights reserved. VMware Harbor Registry Cloud Foundry Agenda 1 Container Image Basics 2 Project Harbor Introduction 3 Consistency of Images 4 Security 5 Image
More informationUsing Git For Development. Shantanu Pavgi, UAB IT Research Computing
Using Git For Development Shantanu Pavgi, pavgi@uab.edu UAB IT Research Computing Outline Version control system Git Branching and Merging Workflows Advantages Version Control System (VCS) Recording changes
More informationDockerfile & docker CLI Cheat Sheet
Dockerfile & docker CLI Cheat Sheet Table of Contents Introduction 1 1. docker CLI Engine 2 1.1 Container Related s 2 1.2 Image Related s 4 1.3 Network Related s 5 1.4 Registry Related s 6 1.5 Volume Related
More informationBe smart. Think open source.
Dockerfiles Be smart. Think open source. Dockerfiles What is a Dockerfile? Build instructions for Docker images Each command creates a layer in the image FROM centos:7 LABEL maintainer="foo.bar@example.com"
More informationSoftware Development I
6.148 Software Development I Two things How to write code for web apps. How to collaborate and keep track of your work. A text editor A text editor A text editor Anything that you re used to using Even
More informationCIS : Computational Reproducibility
CIS 602-01: Computational Reproducibility Containers and Reproducibility Dr. David Koop The Problem Matrix [Docker, Inc., 2016] 2 Shipping Analogy [Docker, Inc., 2016] 3 The Solution: Containers [Docker,
More informationGitLab-CI and Docker Registry
GitLab-CI and Docker Registry Oleg Fiksel Security Consultant @ CSPI GmbH oleg.fiksel@cspi.com oleg@fiksel.info Matrix: @oleg:fiksel.info FrOSCon 2017 AGENDA ABOUT INTRODUCTION GitLab 101 Deploying on-premise
More informationGetting Started With Containers
DEVNET 2042 Getting Started With Containers Matt Johnson Developer Evangelist @mattdashj Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1. Find this session
More informationCreating a Patch. Created by Carl Heymann on 2010 Sep 14 1
Created by on 2010 Sep 14 1 1. Starting a Patch To create a patch, and get it through the review process and into a main branch of a project, you can follow the following steps: Clone the project if you
More informationTangeloHub Documentation
TangeloHub Documentation Release None Kitware, Inc. September 21, 2015 Contents 1 User s Guide 3 1.1 Managing Data.............................................. 3 1.2 Running an Analysis...........................................
More informationInvestigating Containers for Future Services and User Application Support
Investigating Containers for Future Services and User Application Support JLAB CNI NLIT 2018 () Overview JLAB scope What is a container? Why are we interested? Platform-as-a-Service (PaaS) for orchestration
More informationDocker Cheat Sheet. Introduction
Docker Cheat Sheet Introduction Containers allow the packaging of your application (and everything that you need to run it) in a "container image". Inside a container you can include a base operational
More informationwithenv Documentation
withenv Documentation Release 0.7.0 Eric Larson Aug 02, 2017 Contents 1 withenv 3 2 Installation 5 3 Usage 7 3.1 YAML Format.............................................. 7 3.2 Command Substitutions.........................................
More informationDocker 101 Workshop. Eric Smalling - Solution Architect, Docker
Docker 101 Workshop Eric Smalling - Solution Architect, Docker Inc. @ericsmalling Who Am I? Eric Smalling Solution Architect Docker Customer Success Team ~25 years in software development, architecture,
More informationAn introduction to Docker
An introduction to Docker Ing. Vincenzo Maffione Operating Systems Security Container technologies on Linux Several light virtualization technologies are available for Linux They build on cgroups, namespaces
More informationIntroduction to Supercomputing
Introduction to Supercomputing TMA4280 Introduction to development tools 0.1 Development tools During this course, only the make tool, compilers, and the GIT tool will be used for the sake of simplicity:
More informationDeploying Rails with Kubernetes
Deploying Rails with Kubernetes AWS Edition Pablo Acuña This book is for sale at http://leanpub.com/deploying-rails-with-kubernetes This version was published on 2016-05-21 This is a Leanpub book. Leanpub
More informationOpenShift Online 3 Creating Images
OpenShift Online 3 Creating Images OpenShift Online Image Creation Guide Last Updated: 2018-09-15 OpenShift Online 3 Creating Images OpenShift Online Image Creation Guide Legal Notice Copyright 2018 Red
More informationMAKING CONTAINERS EASIER WITH HPC CONTAINER MAKER. Scott McMillan September 2018
MAKING CONTAINERS EASIER WITH HPC CONTAINER MAKER Scott McMillan September 2018 NVIDIA GPU CLOUD (NGC) Simple Access to Ready to-run, GPU-Accelerated Software Discover 35 GPU-Accelerated Containers Deep
More informationNetwork softwarization Lab session 2: OS Virtualization Networking
Network softwarization Lab session 2: OS Virtualization Networking Nicolas Herbaut David Bourasseau Daniel Negru December 16, 2015 1 Introduction 1.1 Discovering docker 1.1.1 Installation Please launch
More informationErlang in the Heroku Cloud
X Erlang in the Heroku Cloud X Who are we? Geoff Cant @archaelus Blake Gentry @blakegentry What do we do? Software Engineers Heroku Routing Team What is Heroku? Cloud Application PaaS We manage servers
More informationVersion Control Systems
Nothing to see here. Everything is under control! September 16, 2015 Change tracking File moving Teamwork Undo! Undo! UNDO!!! What strategies do you use for tracking changes to files? Change tracking File
More informationNew Contributor Tutorial and Best Practices
New Contributor Tutorial and Best Practices Vicențiu Ciorbaru Software Engineer @ MariaDB Foundation * 2018 MariaDB Foundation * Goal of this session Most attendees here are highly experienced devs Let's
More informationIntroduction to containers
Introduction to containers Nabil Abdennadher nabil.abdennadher@hesge.ch 1 Plan Introduction Details : chroot, control groups, namespaces My first container Deploying a distributed application using containers
More informationAndroid meets Docker. Jing Li
Android meets Docker Jing Li 1 2 > 50 cities in Europe 3 Developer Story 4 Pain in the Admin provision machines ( e.g. mobile CI ) 5 Containerization vs Virtualization 6 Why Docker? Docker Vagrant Resource
More information1. Which of these Git client commands creates a copy of the repository and a working directory in the client s workspace. (Choose one.
Multiple-Choice Questions: 1. Which of these Git client commands creates a copy of the repository and a working directory in the client s workspace. (Choose one.) a. update b. checkout c. clone d. import
More informationgit commit --amend git rebase <base> git reflog git checkout -b Create and check out a new branch named <branch>. Drop the -b
Git Cheat Sheet Git Basics Rewriting Git History git init Create empty Git repo in specified directory. Run with no arguments to initialize the current directory as a git repository. git commit
More informationLinux Essentials Objectives Topics:
Linux Essentials Linux Essentials is a professional development certificate program that covers basic knowledge for those working and studying Open Source and various distributions of Linux. Exam Objectives
More informationswiftenv Documentation
swiftenv Documentation Release 1.3.0 Kyle Fuller Sep 27, 2017 Contents 1 The User Guide 3 1.1 Installation................................................ 3 1.2 Getting Started..............................................
More informationIntro to Linux. this will open up a new terminal window for you is super convenient on the computers in the lab
Basic Terminal Intro to Linux ssh short for s ecure sh ell usage: ssh [host]@[computer].[otheripstuff] for lab computers: ssh [CSID]@[comp].cs.utexas.edu can get a list of active computers from the UTCS
More informationIndex. Bessel function, 51 Big data, 1. Cloud-based version-control system, 226 Containerization, 30 application, 32 virtualize processes, 30 31
Index A Amazon Web Services (AWS), 2 account creation, 2 EC2 instance creation, 9 Docker, 13 IP address, 12 key pair, 12 launch button, 11 security group, 11 stable Ubuntu server, 9 t2.micro type, 9 10
More informationInstalling and Using Docker Toolbox for Mac OSX and Windows
Installing and Using Docker Toolbox for Mac OSX and Windows One of the most compelling reasons to run Docker on your local machine is the speed at which you can deploy and build lab environments. As a
More informationAVOIDING THE GIT OF DESPAIR
AVOIDING THE GIT OF DESPAIR EMMA JANE HOGBIN WESTBY SITE BUILDING TRACK @EMMAJANEHW http://drupal.org/user/1773 Avoiding The Git of Despair @emmajanehw http://drupal.org/user/1773 www.gitforteams.com Back
More informationGit. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015
Git all meaningful operations can be expressed in terms of the rebase command -Linus Torvalds, 2015 a talk by alum Ross Schlaikjer for the GNU/Linux Users Group Sound familiar? add commit diff init clone
More informationGit. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes
Git Charles J. Geyer School of Statistics University of Minnesota Stat 8054 Lecture Notes 1 Before Anything Else Tell git who you are. git config --global user.name "Charles J. Geyer" git config --global
More informationAssumptions. GIT Commands. OS Commands
Many of the world s largest dev teams have adopted Git and it s not hard to see why It can handle small and large projects easily It has a tiny footprint It outclasses other version control tools It s
More informationAbout the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Gerrit
Gerrit About the Tutorial Gerrit is a web-based code review tool, which is integrated with Git and built on top of Git version control system (helps developers to work together and maintain the history
More informationCONTAINER AND MICROSERVICE SECURITY ADRIAN MOUAT
CONTAINER AND MICROSERVICE SECURITY ADRIAN MOUAT Chief Scientist @ Container Solutions Wrote "Using Docker" for O'Reilly 40% Discount with AUTHD code Free Docker Security minibook http://www.oreilly.com/webops-perf/free/dockersecurity.csp
More information[Software Development] Development Tools. Davide Balzarotti. Eurecom Sophia Antipolis, France
[Software Development] Development Tools Davide Balzarotti Eurecom Sophia Antipolis, France Version Control Version (revision) control is the process of tracking and recording changes to files Most commonly
More informationNexus Application Development - SDK
This chapter contains the following sections: About the Cisco SDK, page 1 Installing the SDK, page 1 Procedure for Installation and Environment Initialization, page 2 Using the SDK to Build Applications,
More informationKivy Designer Documentation
Kivy Designer Documentation Release 0.9 Kivy October 02, 2016 Contents 1 Installation 3 1.1 Prerequisites............................................... 3 1.2 Installation................................................
More informationCommon Git Commands. Git Crash Course. Teon Banek April 7, Teon Banek (TakeLab) Common Git Commands TakeLab 1 / 18
Common Git Commands Git Crash Course Teon Banek theongugl@gmail.com April 7, 2016 Teon Banek (TakeLab) Common Git Commands TakeLab 1 / 18 Outline 1 Introduction About Git Setup 2 Basic Usage Trees Branches
More informationContain your Desktop Applications with Flatpak
Contain your Desktop Applications with Flatpak Lili Cosic Github: lilic Twitter: LiliCosic Berlin-based software company building foundational Linux technologies Find out more about us Blog: kinvolk.io/blog
More informationEclipse Tutorial How To Write Java Program In Eclipse Step By Step Eclipse Tutorial For Beginners Java
Eclipse Tutorial How To Write Java Program In Eclipse Step By Step Eclipse Tutorial For Beginners Java We have made it easy for you to find a PDF Ebooks without any digging. And by having access to our
More informationLab 4: Shell Scripting
Lab 4: Shell Scripting Nathan Jarus June 12, 2017 Introduction This lab will give you some experience writing shell scripts. You will need to sign in to https://git.mst.edu and git clone the repository
More informationTensorflow/SyntaxNet. Installation Guide
Tensorflow/SyntaxNet Installation Guide Installation https://github.com/tensorflow/models/tree/master/research/syntaxnet 3 Possibilities - Manual Installation: takes 2 hours+, high chance of errors - Ubuntu
More informationChris Calloway for Triangle Python Users Group at Caktus Group December 14, 2017
Chris Calloway for Triangle Python Users Group at Caktus Group December 14, 2017 What Is Conda Cross-platform Language Agnostic Package Manager Dependency Manager Environment Manager Package Creator Command
More informationHow to Containerize Your Go Code. Liz Rice
How to Containerize Your Go Code Liz Rice Beijing Boston Farnham Sebastopol Tokyo How to Containerize Your Go Code by Liz Rice Copyright 2018 O Reilly Media, Inc. All rights reserved. Printed in the United
More informationDalhousie University CSCI 2132 Software Development Winter 2018 Lab 8, March 22
Dalhousie University CSCI 2132 Software Development Winter 2018 Lab 8, March 22 In this lab, you will first learn more about git. After that, you will get some practice on the make utility and learn more
More informationGarment Documentation
Garment Documentation Release 0.1 Evan Borgstrom March 25, 2014 Contents i ii A collection of fabric tasks that roll up into a single deploy function. The whole process is coordinated through a single
More informationnacelle Documentation
nacelle Documentation Release 0.4.1 Patrick Carey August 16, 2014 Contents 1 Standing on the shoulders of giants 3 2 Contents 5 2.1 Getting Started.............................................. 5 2.2
More informationVersion Control: Gitting Started
ting Started Cai Li October 2014 What is Version Control? Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. Local Version
More informationPlatform Migrator Technical Report TR
Platform Migrator Technical Report TR2018-990 Munir Contractor mmc691@nyu.edu Christophe Pradal christophe.pradal@inria.fr Dennis Shasha shasha@cs.nyu.edu May 12, 2018 CONTENTS: 1 Abstract 4 2 Platform
More informationThe Docker Book. James Turnbull. September 24, Version: v ce-2 (e269502) Website: The Docker Book
The Docker Book James Turnbull September 24, 2017 Version: v17.07.0-ce-2 (e269502) Website: The Docker Book Some rights reserved. No part of this publication may be reproduced, stored in a retrieval system,
More informationFEniCS Containers Documentation
FEniCS Containers Documentation Release 1.0 FEniCS Project Jan 29, 2018 Contents 1 Quickstart 3 2 Introduction 5 2.1 What is Docker?............................................. 5 2.2 Installing Docker.............................................
More information6 Git & Modularization
6 Git & Modularization Bálint Aradi Course: Scientific Programming / Wissenchaftliches Programmieren (Python) Prerequisites Additional programs needed: Spyder3, Pylint3 Git, Gitk KDiff3 (non-kde (qt-only)
More informationSupporting Docker in Emulab-Based Network Testbeds. David Johnson, Elijah Grubb, Eric Eide University of Utah
Supporting Docker in Emulab-Based Network Testbeds David Johnson, Elijah Grubb, Eric Eide University of Utah 2 2 2 2 over the course of a study prototype on laptop network testbed commercial cloud need
More informationCS197U: A Hands on Introduction to Unix
CS197U: A Hands on Introduction to Unix Lecture 4: My First Linux System Tian Guo University of Massachusetts Amherst CICS 1 Reminders Assignment 2 was due before class Assignment 3 will be posted soon
More informationA Hands on Introduction to Docker
A Hands on Introduction to Docker Len Bass A Hands on introduction Introduction to to Docker May 2017 1 4, Len 2017 Bass 2017 Len Bass 1 Setting expectations This is an introduction to Docker intended
More informationBest Practices for Developing & Deploying Java Applications with Docker
JavaOne 2017 CON7957 Best Practices for Developing & Deploying Java Applications with Docker Eric Smalling - Solution Architect, Docker Inc. @ericsmalling Who Am I? Eric Smalling Solution Architect Docker
More informationArup Nanda VP, Data Services Priceline.com
Jumpstarting Docker Arup Nanda VP, Data Services Priceline.com My application worked in Dev but not in QA Will it work in production? I need an environment right now No, I can t wait for 2 weeks I just
More informationTool installation for PMC-MC-X2/X4 with P2020 series processor
DYNAMIC ENGINEERING 150 DuBois, Suite C Santa Cruz, CA 95060 (831) 457-8891 Fax (831) 457-4793 http://www.dyneng.com sales@dyneng.com Est. 1988 Tool installation for PMC-MC-X2/X4 with P2020 series processor
More informationDebian 8 Jessie. About. Commit Log. Please NOTE that Debian 9 Stretch is now officially supported by FreeSWITCH.
Debian 8 Jessie About Please NOTE that Debian 9 Stretch is now officially supported by FreeSWITCH. Debian 8 "Jessie" was the reference platform for FreeSWITCH as of version 1.6. We recommend Debian 9 "Stretch"
More informationWhat is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development;
What is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development; Why should I use a VCS? Repositories Types of repositories: Private - only you and the
More informationGit. Presenter: Haotao (Eric) Lai Contact:
Git Presenter: Haotao (Eric) Lai Contact: haotao.lai@gmail.com 1 Acknowledge images with white background is from the following link: http://marklodato.github.io/visual-git-guide/index-en.html images with
More informationCS 520: VCS and Git. Intermediate Topics Ben Kushigian
CS 520: VCS and Git Intermediate Topics Ben Kushigian https://people.cs.umass.edu/~rjust/courses/2017fall/cs520/2017_09_19.zip Our Goal Our Goal (Overture) Overview the basics of Git w/ an eye towards
More informationGit. CSCI 5828: Foundations of Software Engineering Lecture 02a 08/27/2015
Git CSCI 5828: Foundations of Software Engineering Lecture 02a 08/27/2015 1 Lecture Goals Present a brief introduction to git You will need to know git to work on your presentations this semester 2 Git
More informationExercise 1: Basic Tools
Exercise 1: Basic Tools This exercise is created so everybody can learn the basic tools we will use during this course. It is really more like a tutorial than an exercise and, you are not required to submit
More informationA Brief Introduction to Git. Sylverie Herbert (based on slides by Hautahi Kingi)
A Brief Introduction to Git Sylverie Herbert (based on slides by Hautahi Kingi) Introduction Version control is better than mailing files back and forth because: Nothing that is committed to version control
More informationHaving Fun with Social Coding. Sean Handley. February 25, 2010
Having Fun with Social Coding February 25, 2010 What is Github? GitHub is to collaborative coding, what Facebook is to social networking 1 It serves as a web front-end to open source projects by allowing
More informationCreating pipelines that build, test and deploy containerized artifacts Slides: Tom Adams
Creating pipelines that build, test and deploy containerized artifacts Slides: https://goo.gl/2mzfe6 Tom Adams tadams@thoughtworks.com 1 Who I am Tom Adams Tech Lead tadams@thoughtworks.com http://tadams289.blogspot.com
More informationCPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management
CPSC 491 Lecture 19 & 20: Source Code Version Control VCS = Version Control Software SCM = Source Code Management Exercise: Source Code (Version) Control 1. Pretend like you don t have a version control
More informationWhat is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)
1 For the remainder of the class today, I want to introduce you to a topic we will spend one or two more classes discussing and that is source code control or version control. What is version control?
More informationCSE 303 Lecture 2. Introduction to bash shell. read Linux Pocket Guide pp , 58-59, 60, 65-70, 71-72, 77-80
CSE 303 Lecture 2 Introduction to bash shell read Linux Pocket Guide pp. 37-46, 58-59, 60, 65-70, 71-72, 77-80 slides created by Marty Stepp http://www.cs.washington.edu/303/ 1 Unix file system structure
More informationIndex. Alias syntax, 31 Author and commit attributes, 334
Index A Alias syntax, 31 Author and commit attributes, 334 B Bare repository, 19 Binary conflict creating conflicting changes, 218 during merging, 219 during rebasing, 221 Branches backup, 140 clone-with-branches
More informationSubmitting your Work using GIT
Submitting your Work using GIT You will be using the git distributed source control system in order to manage and submit your assignments. Why? allows you to take snapshots of your project at safe points
More informationAnd check out a copy of your group's source tree, where N is your one-digit group number and user is your rss username
RSS webmaster Subversion is a powerful, open-source version control system favored by the RSS course staff for use by RSS teams doing shared code development. This guide is a primer to the use of Subversion
More informationRevision control. INF5750/ Lecture 2 (Part I)
Revision control INF5750/9750 - Lecture 2 (Part I) Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same
More informationGETTING STARTED WITH. Michael Lessard Senior Solutions Architect June 2017
GETTING STARTED WITH Michael Lessard Senior Solutions Architect June 2017 Agenda What is Git? Installation of Git Git basis Github First steps with Git 2 WHAT IS GIT? What is Git? Started in 2005 Created
More informationTutorial 2 GitHub Tutorial
TCSS 360: Software Development Institute of Technology and Quality Assurance Techniques University of Washington Tacoma Winter 2017 http://faculty.washington.edu/wlloyd/courses/tcss360 Tutorial 2 GitHub
More informationAndroid Sdk Install Documentation Eclipse. Ubuntu >>>CLICK HERE<<<
Android Sdk Install Documentation Eclipse Ubuntu 12.04 These are instructions to install the Android SDK onto Ubuntu. If you are only I'm skipping the Eclipse install, sorry if you wanted. Just trying
More informationSingularity: container formats
Singularity Easy to install and configure Easy to run/use: no daemons no root works with scheduling systems User outside container == user inside container Access to host resources Mount (parts of) filesystems
More informationContainer-based virtualization: Docker
Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Container-based virtualization: Docker Corso di Sistemi Distribuiti e Cloud Computing A.A. 2018/19
More informationThis tutorial provides a basic understanding of the infrastructure and fundamental concepts of managing an infrastructure using Chef.
About the Tutorial Chef is a configuration management technology developed by Opscode to manage infrastructure on physical or virtual machines. It is an open source developed using Ruby, which helps in
More informationb. Developing multiple versions of a software project in parallel
Multiple-Choice Questions: 1. Which of these terms best describes Git? a. Integrated Development Environment b. Distributed Version Control System c. Issue Tracking System d. Web-Based Repository Hosting
More informationEugene, Niko, Matt, and Oliver
213/513 Linux/Git Bootcamp Eugene, Niko, Matt, and Oliver outline 1. ssh but also Windows ssh client especially 2. bash commands + navigating Linux 3. VIM and VS Code 4. Git how to ssh 1. on OS X/Linux:
More informationGit. Christoph Matthies Software Engineering II WS 2018/19. Enterprise Platform and Integration Concepts group
Git Software Engineering II WS 2018/19 Christoph Matthies christoph.matthies@hpi.de Enterprise Platform and Integration Concepts group Outline 1. Basics 2. Local 3. Collaboration November 16, 2018 2 Centralized
More informationAMath 483/583 Lecture 2
AMath 483/583 Lecture 2 Outline: Binary storage, floating point numbers Version control main ideas Client-server version control, e.g., CVS, Subversion Distributed version control, e.g., git, Mercurial
More information