Vagrant and Docker
-
Upload
nascenia-it -
Category
Technology
-
view
705 -
download
0
Transcript of Vagrant and Docker
Who we are
Feroj BepariSenior Software EngineerNascenia [email protected]
Samiul HoqueSenior Software EngineerNascenia [email protected]
2
Development environmentsmade easy
Create and configure lightweight, reproducible, and portable development environments.
3
What Vagrant is❏Development environment setup tool
❏Focused on automation
❏Lowers development environment setup time
❏Development - Production parity
❏No more “Works on my machine” excuses
4
Why Vagrant❏Easy to configure
❏Reproducible and portable
❏Single consistent workflow
❏Industry-standard tools integration
5
Benefits of Vagrant❏Isolate dependencies and their configuration❏A single disposable, consistent environment❏Creates a single Vagrantfile for a project and share with other
developer/designers❏Others just need to run vagrant up and everything is installed and
configured for work.
6
Installation❏ Download and Install
VirtualBox
https://www.virtualbox.org/wiki/Downloads
❏ Download and Install Vagrant
http://www.vagrantup.com/downloads
7
Let us create a VM❏ Ubuntu Server 14.04 (trusty64)
❏ Git
❏ LAMP Stack
❏ Composer
❏ Node
❏ Redis
❏ Memcached
❏ Beanstalkd
❏ Supervisor
❏ PHPMyAdmin
❏ The Web Application:
➭ A laravel installation
➭ A mysql database for the application
➭ Queue configuration
8
Initializing Vagrant
9
❏ mkdir vagrant-test
❏ cd vagrant-test
❏ laravel new testvagrant
A fresh laravel will be installed in testvagrant directory.
❏ vagrant init
A new Vagrantfile will be placed in the vagrant-test directory.
❏ vagrant up
Access the Sample Vagrant Project
The sample file is accessible at
https://github.com/samiuln/vagrant-test
11
What Docker is❏High level
❏ A lightweight VM
❏ Own process space
❏ Own network interface
❏ Can run stuff as root
14
❏ Low level❏ Container = isolated
processes
❏ Share kernel with host
❏ <<application container>>
Why Docker❏Run everywhere
❏ Regardless of kernel version
❏ Regardless of host distro
❏ Physical or virtual, cloud or not
❏ Container and host architecture must match...
15
❏Run anything
❏ If it can run on the host, it can run in the container
❏ If it can run on a Linux kernel, it can run
Install Docker❏Go to https://docs.docker.com/engine/installation/
❏ sudo docker run hello-world
18
Docker Hub❏More than 100,000 public images
❏Push your image to public repository
❏Use anywhere, any time :)
❏https://hub.docker.com/
19
Demo ❏Run mysql docker image from Docker hub
❏ docker run --name wordpressdb -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=wordpress -d mysql:5.7
❏Pull wordpress from docker hub❏ docker pull wordpress
❏Run wordpress container from local❏ docker run -e WORDPRESS_DB_PASSWORD=password -d --name wordpress --link
wordpressdb:mysql wordpress
20
Demo (contd.)❏Show all docker container
❏ docker ps, docker ps -a
❏Inspect wordpress configuration
❏ docker inspect wordpress
21
Demo (contd.)❏Where is my SOURCE CODE? :(
❏ docker run -e WORDPRESS_DB_PASSWORD=password -d --name
wordpress --link wordpressdb:mysql -p
127.0.0.2:8080:80 -v "$PWD/":/var/www/html wordpress
❏ TIRED typing command?❏ Docker has a solution :)
22
Resources❏https://github.com/ferojnascenia/docker-compose-wordpress/
❏https://hub.docker.com/
❏http://www.sitepoint.com/how-to-use-the-official-docker-wordpress-image/
23