Upload
michal-kruczek
View
405
Download
0
Embed Size (px)
Citation preview
MICHAŁ SZCZUR
SOFTWARE DEVELOPER AT PGS SOFTWARE BASS GUITARIST, TRUMPETER, FOLK MUSIC ARTIST
@PARTIKUS
AGENDA
▸ Docker - what is it and how it works?
▸ Docker vs Vagrant
▸ How to use Docker at work?
▸ Some examples and stories
WHAT PROBLEMS DOCKER SOLVES?
▸ „it works on my machine”
▸ Reduce build & deploy time
▸ No more configuration spaghetti - organized configuration
▸ Libs dependency hell
▸ Packed into containers
DOCKER IS A PLATFORM FOR DEVELOPERS AND SYSADMINS TO DEVELOP, SHIP, AND RUN APPLICATIONS.
docs.docker.com
DOCKER CONCEPTS
CONCEPTS
▸ Images
▸ read only
▸ Dockerfile
▸ like a makefile
▸ commands order and cache’ing
▸ extendable
▸ as a result new image given
▸ Containers - instances of running apps
TOOLS
DOCKER SOLUTIONS
▸ DOCKER HUB
▸ DOCKER TRUSTED REGISTRY
▸ TUTUM
▸ DOCKER UNIVERSAL CONTROL PLANE (BETA)
TOOLS
DOCKER TOOLBOX
▸ Docker Machine
▸ Docker Swarm
▸ Docker Compose
▸ Docker Registry
▸ Docker Engine
▸ Kitematic
CREATE AND CONFIGURE LIGHTWEIGHT, REPRODUCIBLE, AND PORTABLE DEVELOPMENT ENVIRONMENTS.
vagrantup.com
TESTING
CONTINUOUS INTEGRATION
▸ run tests per every commit
▸ don’t worry about cleaning up
▸ running parallel tests
FROM php:5.6-cli
MAINTAINER [email protected]
RUN docker-php-ext-install iconv intl mysqli mysql gd mbstring pdo_mysql xsl opcache
RUN curl -sS https://getcomposer.org/installer | php && \
mv composer.phar /usr/local/bin/composer && \
chmod +x /usr/local/bin/composer
EXPOSE 8080
COPY php.ini /usr/local/etc/php
ADD entrypoint.sh /entrypoint.sh
VOLUME /var/www
WORKDIR /var/www
ENTRYPOINT ["/bin/bash", "/entrypoint.sh"]
hub:
image: selenium/hub
ports:
- "4444:4444"
environment:
- GRID_TIMEOUT=30000
firefox:
image: selenium/node-firefox
links:
- hub
chrome:
image: selenium/node-chrome
links:
- hub
LINKS
▸ http://michalszczur.pl
▸ http://docs.docker.com
▸ http://vagrantup.com
▸ http://bit.ly/1IENdHh
▸ https://www.heroku.com/
▸ http://progrium.viewdocs.io/dokku/