Docker for Development: Getting Started

Similar documents
Think Small to Scale Big

Midterm Presentation Schedule

Dockerizing CS50. From Cluster to Cloud to Appliance to Container. David J. Malan Dan Armendariz

Brainstorm K Containerization with Docker. Crown Palm 2:30-3:30. Adam W Zheng Nebraska Educational Service Unit 10

Docker for People. A brief and fairly painless introduction to Docker. Friday, November 17 th 11:00-11:45

Goran Halusa. Summary. Experience. Web Developer at Quotient

MySQL operations with Docker A quick guide for the uninitiated

DevOps Course Content

SQL Server inside a docker container. Christophe LAPORTE SQL Server MVP/MCM SQL Saturday 735 Helsinki 2018

Developing and Testing Java Microservices on Docker. Todd Fasullo Dir. Engineering

The age of orchestration

DevOps + Infrastructure TRACK SUPPORTED BY

SCALING DRUPAL TO THE CLOUD WITH DOCKER AND AWS

Docker und IBM Digital Experience in Docker Container

WHO'S TALKING? Edvinas Aleksejonokas Member of OXID core team Joined two years ago

" Qué me estás container?" Docker for dummies

Dr. Roland Huß, Red

CONTAINER CLOUD SERVICE. Managing Containers Easily on Oracle Public Cloud

Docker II - Judgement Day

By: Jeeva S. Chelladhurai

MySQL and Docker Strategies Patrick Galbraith Giuseppe Maxia

VMware s (Open Source) Way of Container. Dr. Udo Seidel

Installing and Using Docker Toolbox for Mac OSX and Windows

Ingest. David Pilato, Developer Evangelist Paris, 31 Janvier 2017

The four forces of Cloud Native

Ingest. Aaron Mildenstein, Consulting Architect Tokyo Dec 14, 2017

Docker and Security. September 28, 2017 VASCAN Michael Irwin

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

Go Faster: Containers, Platforms and the Path to Better Software Development (Including Live Demo)

Building with Virtual Development EnvironmentsA. Oscar Merida July 2015

Introduction to Docker. Antonis Kalipetis Docker Athens Meetup

Docker on VDS. Aurelijus Banelis

Ubuntu Install Partition Lamp One. Command >>>CLICK HERE<<<

Supporting Docker in Emulab-Based Network Testbeds. David Johnson, Elijah Grubb, Eric Eide University of Utah

There's More to Docker than the Container The Docker Platform

Industry-leading Application PaaS Platform

for Devs Christopher M. Judd

Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2

LINUX Virtualization. Running other code under LINUX

Top five Docker performance tips

sqlite wordpress 06C6817F2E58AF4319AB84EE Sqlite Wordpress 1 / 6

Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS

[Docker] Containerization

Be smart. Think open source.

ROBIN SYSTEMS. Containerizing Oracle: Not Thinking About It Yet? You Should Be!!!

Travis Cardwell Technical Meeting

More Dev / Less Ops. Sean Dietrich DrupalCorn '18

Logging, Monitoring, and Alerting

Deployment Patterns using Docker and Chef

Using MySQL Containers

OPERATING SYSTEMS Chapter 13 Virtual Machines. CS3502 Spring 2017

How Docker Compose Changed My Life

Unifying Events & Logs into the Cloud

Convergence of VM and containers orchestration using KubeVirt. Chunfu Wen

Fixing the "It works on my machine!" Problem with Docker

MIRO DIETIKER Founder

Oh.. You got this? Attack the modern web

Open Source Container-Based Cloud Hosting

Docker for HPC? Yes, Singularity! Josef Hrabal

ovirt and Docker Integration

Fluentd. Open Source Data Collector. Eduardo Jan 23, 2016 Scale14x, Pasadena!

Docker Networking In OpenStack What you need to know now. Fawad Khaliq

Install Apache Manually Win7 7 Php Mysql Phpmyadmin Windows Xp

Amir Zipory Senior Solutions Architect, Redhat Israel, Greece & Cyprus

Arup Nanda VP, Data Services Priceline.com

Index. Bessel function, 51 Big data, 1. Cloud-based version-control system, 226 Containerization, 30 application, 32 virtualize processes, 30 31

Basic Concepts of the Energy Lab 2.0 Co-Simulation Platform

Running MarkLogic in Containers (Both Docker and Kubernetes)

Important DevOps Technologies (3+2+3days) for Deployment

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Kuber-what?! Learn about Kubernetes

Use Case: Scalable applications

Container Adoption for NFV Challenges & Opportunities. Sriram Natarajan, T-Labs Silicon Valley Innovation Center

Verteego VDS Documentation

Docker A FRAMEWORK FOR DATA INTENSIVE COMPUTING

Java in der Cloud Aktuelle Möglichkeiten und Entwicklungen

利用 Mesos 打造高延展性 Container 環境. Frank, Microsoft MTC

Docker 101 Workshop. Eric Smalling - Solution Architect, Docker

CONTINUOUS DELIVERY WITH DC/OS AND JENKINS

Module 1: Virtualization. Types of Interfaces

Transparent Service Migration to the Cloud Clone existing VMs to CloudStack/OpenStack templates without user downtime. CloudOpen Seattle 2015

DISQUS. Continuous Deployment Everything. David

Web Server Setup Guide

The performance of the native Windows 10 Docker application with integrated Unikernel libraries

Lecture 09: VMs and VCS head in the clouds

It s probably the most popular containerization technology on Linux these days

VMware AppCatalyst Technical Preview June 2015 TECHNICAL WHITE PAPER

Manual Updating Ubuntu Server Command Line

DevOps Foundations : Infrastructure as Code

Revamped and Automated the infrastructure for NTN Buzztime

What is Drupal? What is this Drew-Paul thing you do?

Apache Manually Install Ubuntu From Usb

Getting Started With Amazon EC2 Container Service

Depending on your location and needs we can accommodate your application at one of our established data centers:

references Virtualization services Topics Virtualization

CS 470 Spring Virtualization and Cloud Computing. Mike Lam, Professor. Content taken from the following:

Flip the Switch to Container-based Clouds

The Challenges of X86 Hardware Virtualization. GCC- Virtualization: Rajeev Wankar 36

Vagrant and Ansible. Two so2ware tools to create and manage your custom VMs

Container-based virtualization: Docker

Transcription:

Docker for Development: Getting Started Lisa H. Ridley Savas Labs DrupalCamp Chattanooga November 5, 2016

Who am I? Lisa Ridley, Director of Client Success, Savas Labs Lead Developer and Project Manager Automated Testing Champion (Unit, Functional, User Acceptance, Visual Regression) drupal.org: lhridley twitter: lhridley GitHub: github.com/lhridley & github.com/codementality LInkedIn: https://www.linkedin.com/in/lisahridley Blog: http://savaslabs.com/blog/ 2

What is your development environment? Development Environment # users MAMP / WAMP / Locally installed LAMP/LEMP Stack Vagrant / VMWare / Parallels / VirtualBox Virtual Machines 6 Remote server 4 Docker / s 3 Other 0 3

What is Docker? Automates the deployment of applications in software containers Operating system abstraction layer Open Source Project (May 2013) 4

What is a Docker software container An isolated user-space instance that contains a complete application with all dependencies and components needed to run properly Shares the underlying O/S kernel Looks and feels like a real server 5

What does that look like? Application Application Application Binaries / Libraries Binaries / Libraries Binaries / Libraries Host Operating System Infrastructure 6

s vs. Virtual Machines App App App Bins/Libs Bins/Libs Bins/Libs App App App Guest O/S Guest O/S Guest O/S Bins/Libs Bins/Libs Bins/Libs Hypervisor Host Operating System Infrastructure Virtual Machine Host Operating System Infrastructure s 7

s vs. Virtual Machines App App App Bins/Libs Bins/Libs Bins/Libs Host Operating System Infrastructure Virtual Machine s 7

s vs. Virtual Machines App App App Libraries and Binaries App App App Guest Operating System Bins/Libs Bins/Libs Bins/Libs Hypervisor Host Operating System Infrastructure Virtual Machine Host Operating System Infrastructure s 7

As a Developer, how does this benefit me? 8

Benefits of ization Development environment consists of components Components can be swapped as needed for different clients / applications If production environment is containerized, deployment is as simple as dropping a completed application in a fully tested container on the production server 9

s as components Apache v1 PHP 5.6

s as components Apache v1 PHP 5.6

s as components Apache v1 Reconfiguration is painless PHP 5.6

s as components v1 Reconfiguration is painless PHP 5.6

s as components NGinX v1 Reconfiguration is painless PHP 5.6

s as components NGinX v1 Reconfiguration is painless

s as components NGinX v1 Reconfiguration is painless PHP 7.0

s as components NGinX v1 Reconfiguration is painless Really painless PHP 7.0

s as components NGinX v1 Reconfiguration is painless Really painless PHP 7.0 Memcached

s as components NGinX v1 Reconfiguration is painless Really painless PHP 7.0

s as components NGinX v1 Reconfiguration is painless Really painless PHP 7.0 Redis

s as components NGinX v1 Reconfiguration is painless Really painless PHP 7.0 Redis Varnish

s as components NGinX v1 Reconfiguration is painless Really painless PHP 7.0 Varnish Redis Apache Solr

s as components NGinX v1 Reconfiguration is painless Really painless PHP 7.0 Redis Varnish

s as components NGinX v1 Reconfiguration is painless Really painless PHP 7.0 Varnish Redis ElasticSearch

s as components NGinX v1 Reconfiguration is painless Really painless PHP 7.0 Varnish Redis ElasticSearch Selenium

s as components NGinX v1 Reconfiguration is painless Really painless PHP 7.0 Varnish Redis ElasticSearch Updates are simplified Selenium

s as components NGinX Reconfiguration is painless Really painless PHP 7.0 Varnish Redis ElasticSearch Updates are simplified Selenium

s as components NGinX v2 Reconfiguration is painless Really painless PHP 7.0 Varnish Redis ElasticSearch Updates are simplified Selenium

Docker Stack Configuration (docker-compose) version: '2' services: web: domainname: local.hptn.org hostname: local.hptn.org container_name: local.hptn.org ports: - '443:443' - '80:80' environment: - RUN_AS_UID=00 - GH_TOKEN - IMGUR_API_KEY image: savaslabs/hptn-web:1.6 depends_on: - db - memcached volumes: -./docker/hptn-web/drupal:/conf -./docker/hptn-web/php:/etc/php5 memcached: container_name: hptn_memcached image: memcached:1.4.21 environment: - MEMCACHED_MEMORY_LIMIT=128 db: container_name: hptn_db image: mysql:5.5.47 volumes: -./docker/mysql:/etc/mysql/conf.d/ - mysql-data:/var/lib/mysql environment: MYSQL_DATABASE: 'hptn_docker' MYSQL_ROOT_PASSWORD: 'root' ports: - '33308:3306' selenium: container_name: hptn_selenium image: selenium/standalone-firefox:2.53.0 volumes: - /dev/shm:/dev/shm volumes: mysql-data: driver: local 11

How can I get started using Docker for development Install the (Linux), Docker for Windows, or Docker for Mac Install Docker Compose (Linux) Create a docker-compose.yml file with your stack configuration Execute docker-compose up -d 12

Projects to jumpstart your development efforts Docker For Drupal (docker4drupal.org) Docker based development environment (drupal.org), https://www.drupal.org/node/2736447 https://github.com/peperoni60/drupal-docker Tons more on Github, pick your flavor Docker Hub: https://hub.docker.com Docker Sync (for OS X) (http://docker-sync.io/) 13

Questions? 14