O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Twitter San Francisco, CA

2013-11-05

docker
Dockerizing your applications
Daniel Mizyrycki
daniel@docker.com
Introduction
Dockerizing a typical desktop application
Downloads
* Download Docker
wget -O docker http://get.docker.io/builds/Linux/x86_64/docker-latest
* Download data and fire...
Building images with a Dockerfile
* base image
* load new packages
* optional customization
* optional addition of host fi...
Data Dockerfile (Example of customization)
# Smallest base image, just to launch a container
from busybox
maintainer
Danie...
Docker and the desktop:
How to communicate with the desktop?
Video:
X11 unix socket. /tmp/.X11-unix/X0
Audio:
Alsa. /dev/s...
Launch Docker
docker -d &

Building containers
cd data; docker build -t data -rm .
cd firefox; docker build -t firefox -rm...
Running ephemeral Firefox container
docker run -e DISPLAY=unix$DISPLAY 
-v /tmp/.X11-unix:/tmp/.X11-unix 
-v /dev/snd:/dev...
Running stateful data-on-host Firefox container
docker run -e DISPLAY=unix$DISPLAY 
-v /data/firefox:/data 
-v /tmp/.X11-u...
Create dockerized data container
docker run -name firefox-data data true

Monitor status in the data container
while true;...
Running stateful firefox with dockerized
data container
docker run -e DISPLAY=unix$DISPLAY 
-volumes-from firefox-data 
-v...
Dockerizing your applications - Docker workshop @Twitter
Próximos SlideShares
Carregando em…5
×

Dockerizing your applications - Docker workshop @Twitter

9.732 visualizações

Publicada em

Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container that a developer builds and tests on a laptop can run at scale, in production, on VMs, bare metal, OpenStack clusters, public clouds and more.

Dockerizing your applications - Docker workshop @Twitter

  1. 1. Twitter San Francisco, CA 2013-11-05 docker Dockerizing your applications Daniel Mizyrycki daniel@docker.com
  2. 2. Introduction Dockerizing a typical desktop application
  3. 3. Downloads * Download Docker wget -O docker http://get.docker.io/builds/Linux/x86_64/docker-latest * Download data and firefox Dockerfiles from contrib/desktop-integration wget http://raw.github.com/dotcloud/docker/master/ contrib/desktop-integration/data/Dockerfile wget http://raw.github.com/dotcloud/docker/master/ contrib/desktop-integration/firefox/Dockerfile
  4. 4. Building images with a Dockerfile * base image * load new packages * optional customization * optional addition of host files * optional run command
  5. 5. Data Dockerfile (Example of customization) # Smallest base image, just to launch a container from busybox maintainer Daniel Mizyrycki <daniel@docker.com> # Create a regular user run echo 'sysadmin:x:1000:1000::/data:/bin/sh' >> /etc/passwd run echo 'sysadmin:x:1000:' >> /etc/group # Create directory for that user run mkdir /data run chown sysadmin.sysadmin /data # Add content to /data. This will keep sysadmin ownership run touch /data/init_volume # Create /data volume VOLUME /data
  6. 6. Docker and the desktop: How to communicate with the desktop? Video: X11 unix socket. /tmp/.X11-unix/X0 Audio: Alsa. /dev/snd plus access to the physical devices
  7. 7. Launch Docker docker -d & Building containers cd data; docker build -t data -rm . cd firefox; docker build -t firefox -rm .
  8. 8. Running ephemeral Firefox container docker run -e DISPLAY=unix$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v /dev/snd:/dev/snd -lxc-conf='lxc.cgroup.devices.allow = c 116:* rwm' firefox
  9. 9. Running stateful data-on-host Firefox container docker run -e DISPLAY=unix$DISPLAY -v /data/firefox:/data -v /tmp/.X11-unix:/tmp/.X11-unix -v /dev/snd:/dev/snd -lxc-conf='lxc.cgroup.devices.allow = c 116:* rwm' firefox
  10. 10. Create dockerized data container docker run -name firefox-data data true Monitor status in the data container while true; do docker run -volumes-from firefox-data busybox ls -al /data sleep 3; clear; done
  11. 11. Running stateful firefox with dockerized data container docker run -e DISPLAY=unix$DISPLAY -volumes-from firefox-data -v /tmp/.X11-unix:/tmp/.X11-unix -v /dev/snd:/dev/snd -lxc-conf='lxc.cgroup.devices.allow = c 116:* rwm' firefox

×