Кратчайшее введение в docker по-русски
TRANSCRIPT
![Page 1: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/1.jpg)
kirill.krinkin, Feb/2015
Краткое введение в Docker
Все использованнные картинки и наименования являются собственностью их владельцев
![Page 2: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/2.jpg)
kirill.krinkin, Feb/2015
Основные темы
● Контейнерная виртуализация (в Linux)● Docker и его назначение● Компоненты ● Установка● Контейнеры: запуск, останов, присоединение,
демонизация...● Образы● Использование для тестирования/отладки
![Page 3: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/3.jpg)
kirill.krinkin, Feb/2015
Виртуальные машины и контейнеры
![Page 4: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/4.jpg)
kirill.krinkin, Feb/2015
Примеры контейнеров
● OpenVZ● Solaris Zones● lxc
![Page 5: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/5.jpg)
kirill.krinkin, Feb/2015
Использование контейнеров
● масштабируемое развертывание многопользовательских сервисов
● легковесные «песочницы»● изолированные окружения процессов
![Page 6: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/6.jpg)
kirill.krinkin, Feb/2015
Назначение Docker
Взято с http://www.netpatch.ru/
![Page 7: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/7.jpg)
kirill.krinkin, Feb/2015
Миссия
● Docker:– простой и лекговесный путь от модели к
реальности
– минимизация риска падения приложений при переносе из окружения разработки в «боевые условия»
– Ускорение code->test->deploy->use
![Page 8: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/8.jpg)
kirill.krinkin, Feb/2015
Компоненты
● Docker Client & Server– CLI
– RESTFull API
● Images– unionFS (каскадно-объединенное монтирование,
Knoppix)
● Registers● Containers
![Page 9: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/9.jpg)
kirill.krinkin, Feb/2015
Технические компоненты
● libcontainer format● kernel namespaces
– fs isolation
– process isolation
– network isolation
● CoW FS● логирование STDOUT, STDIN,STDERR● CLI● GUI (сторонние разработки)
![Page 10: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/10.jpg)
kirill.krinkin, Feb/2015
Базовые механизмы Linux
![Page 11: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/11.jpg)
kirill.krinkin, Feb/2015
Контейнер Docker
● Формат образа● Набор стандартных операций● Исполнительная среда
Метафора: контейнер содержит образ программного обеспечения – груз, и над ним возможны операции: создание, старт, останов...
![Page 12: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/12.jpg)
kirill.krinkin, Feb/2015
Применение
● ускорение инфраструктуры сборки приложений
● выполнение standalone сервисов в разных окружениях
● Jenkins CI● многопользовательские PaaS● легковесные песочницы● SaaS
![Page 13: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/13.jpg)
kirill.krinkin, Feb/2015
Установка
– ядро 3.8+
– x64
– Хранилище:● Device Mapper ● AUFS● vfs● btrfs
– curl
● sudo sh -c "echo deb https://get.docker.io/ubuntu docker main >/etc/apt/sources.list.d/docker.list"
● curl -s https://get.docker.io/gpg | sudo apt-key add -● sudo apt-get update && sudo apt-get install lxc-docker● sudo docker info
![Page 14: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/14.jpg)
kirill.krinkin, Feb/2015
Hello world #1
#docker#docker version#docker search tutorial#docker pull learn/tutorial#docker run echo "Hello world"
![Page 15: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/15.jpg)
kirill.krinkin, Feb/2015
run & start
● -t псевдотерминал● -i оставить STDIN открытым● имя образа● команда (например /bin/bash)
![Page 16: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/16.jpg)
kirill.krinkin, Feb/2015
Основные команды
● create● run● start● stop● inspect● diff
![Page 17: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/17.jpg)
kirill.krinkin, Feb/2015
Образ
![Page 18: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/18.jpg)
kirill.krinkin, Feb/2015
Создание образа
● Действия в контейнере + commit● Dockerfile + build
– FROM
– MAINTAINER
– RUN
– CMD
– EXPOSE
– VOLUME
– ...
ex: #docker build --rm -t repo:image .
![Page 19: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/19.jpg)
kirill.krinkin, Feb/2015
Аналогия с git
● docker diff ● docker commit● docker pull● docker push
![Page 20: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/20.jpg)
kirill.krinkin, Feb/2015
Новинки
● Docker Swarm● Docker Compose
![Page 21: Кратчайшее введение в docker по-русски](https://reader034.vdocuments.net/reader034/viewer/2022052304/55a6dcdd1a28abb07e8b466c/html5/thumbnails/21.jpg)
kirill.krinkin, Feb/2015
Ссылки
● https://www.docker.com/● https://www.docker.com/tryit/● http://hub.docker.com● http://www.netpatch.ru/research/docker/2014/03.
24-linux-docker-practical-guide.html● James Turnbull «The Docker Book»