SlideShare a Scribd company logo
1 of 36
Download to read offline
Sanallaştırmada yeni akım: Docker
TÜRKSAT
oguzy ~ turksat.com.tr
DevOps
https://about.me/oguzy
2
Önce siz
● Docker resmi “dersini” takip eden?
● Daha önce makinasına Docker kuran?
● Dockerfile yazmayı deneyen?
3
İçerik
● Ne söz veriyor?
● Nasıl çalışır?
● Docker kelime dağarcığı
● Geçmiş, şu an, gelecek
● Kullanıcı hikayeleri
● Özet
4
Üretim sürecinde
“Bende çalışıyor!”
5
Docker sözü
“Build once
run everywhere”
6
Nasıl çalışıyor?
Sanallaştırma aracı?
VM Yönetim Aracı?
Yapılandırma (Configuration)
Yönetim Aracı?
Cgroups?
LXC?
Libvirt?
7
Resmi tanım
Docker.com daki açıklamaya göre
Docker, geliştiriciler ve sysadminler için uygulamalarını derlemek,
çalıştırmak ve dağıtmak için açık bir platformdur.
Docker Engine
Taşınabilir, hafif, çalışma
zamanı ve paketleme aracı
Docker Hub
Uygulama paylaşmak ve iş
akışlarını otomatize etmek için
bir bulut servisi
8
Sunucu yapılandırma dünyasında
Daha az taşınabilir,
Daha az yük (overhead)
CM araçları
Elle yapılandırma
Daha taşınabilir,
Daha çok yük (overhead)
Geleneksel VMler
Docker
9
Geleneksel VM Yaklaşımı
VM
Kaynak: docker.io
10
Dockerdaki Durum
Containers
Kaynak: docker.io
11
Tipik bir Docker Mimarisi
Her bir süreç için bir “container”
Kaynak: quay.io
12
Docker Kelime Dağarcığı
Uygulamalarınız “container” lar içinde çalışır
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
$ docker run busybox /bin/echo “hello world”
hello world
13
devam
> docker pull oguzy/statsd
Using default tag: latest
ba8afa23-debc-41d4-91f7-26bcdd49df54-n1: Pulling oguzy/statsd:latest... :
downloaded
> docker history oguzy/statsd
IMAGE CREATED CREATED BY SIZE COMMENT
3575ba401d18 10 months ago /bin/sh -c cd /usr/src && git clone https:// 3.741 MB
3334a6fda5e1 10 months ago /bin/sh -c apt-get install -y git debhelper d 222.5 MB
bb1cab823c31 10 months ago /bin/sh -c apt-get update && apt-get dist-upg 27.47 MB
ea4e0b39c9a4 10 months ago /bin/sh -c #(nop) MAINTAINER Oguz Yarimtepe 0 B
8eaa4ff06b53 10 months ago /bin/sh -c #(nop) CMD [/bin/bash] 0 B
f62feddc05dc 10 months ago /bin/sh -c sed -i 's/^#s*(deb.*universe)$/ 1.895 kB
607c5d1cca71 10 months ago /bin/sh -c echo '#!/bin/sh' > /usr/sbin/polic 194.5 kB
3b363fd9d7da 10 months ago /bin/sh -c #(nop) ADD file:c6927d782cab75b529 188.1 MB
511136ea3c5a 2 years ago 0 B Imported from -
14
Docker hub
15
Dockerfile
# Spin-docker example dockerfile for a Django project
# Use phusion/baseimage as base image
FROM phusion/baseimage:0.9.8
MAINTAINER Andrew T. Baker <andrew@andrewtorkbaker.com>
# Add the Django app and install its requirements
ADD sd_sample_project /var/www/django
RUN apt-get install -y python-pip
RUN pip install virtualenv
RUN virtualenv /var/www/venv
RUN /.../venv/bin/pip install -r /.../requirements.txt
...
16
Docker ve Git
Docker Git
Imaj Saklı bir durum Commit
Container Yerel çalıştırma Checkout
Depo (repository) “commit” lerin toplamı Depo (repository)
Docker Hub Sık kullanılan uzak sunucu Github
17
Açık kaynak başarı hikayesi
● PyCon 2013 te docCloud tarafından proje açıldı
● O zamandan sonra
– 1.000.000+ ın üzerinde indirildi
– 300+ projeye güç verdi
– 350+ docker katkıcısı
– 10.000+ Github yıldızı
● dotCloud adını değiştirdi: Docker
– 1.0 sürümü 2014 te duyuruldu
18
Docker Ecosistemi
19
İnsanlar Docker ile neler yapıyorlar
20
Örnek web uygulaması
web:
build: .
command: python app.py
ports:
- "5000:5000"
volumes:
- .:/code
links:
- redis
redis:
image: redis
$ fig up
Pulling image redis...
Building web...
Starting figtest_redis_1...
Starting figtest_web_1...
redis_1 | [8] 02 Jan 18:43:35.576 # Server started, Redis version 2.8.3
web_1 | * Running on http://0.0.0.0:5000/”
21
Fig (devam)
$ fig up -d
Starting figtest_redis_1...
Starting figtest_web_1...
$ fig ps
Name Command State Ports
-------------------------------------------------------------------
figtest_redis_1 /usr/local/bin/run Up
figtest_web_1 /bin/sh -c python app.py Up 5000->5000/tcp
22
PaaS
23
Deis video
● Deis.io
24
CI
25
CI
26
Araçlar daha iyiye gidiyor
27
Shipyard
28
Bulut ortamında
29
Diğer büyükler
● Amazon EC2 Container Service
● Google Container Service
● Rackspace
– Getcarina (Openstack + Magnum + Swarm)
30
Getcarina
31
Getcarina Dashboard
32
Getcarina CLI
33
Getcarina CLI
34
Çalıştır ve eriş
35
Port 8080
36
Sorular

More Related Content

What's hot

Devfest Istanbul 2015 Sunumu
Devfest Istanbul 2015 SunumuDevfest Istanbul 2015 Sunumu
Devfest Istanbul 2015 SunumuAybüke Özdemir
 
Docker node-nginx-redis ipnordic demo
Docker node-nginx-redis ipnordic demoDocker node-nginx-redis ipnordic demo
Docker node-nginx-redis ipnordic demoCemal Erdemir
 
Linux Çekirdeğine Katkı ve OPW Süreci
Linux Çekirdeğine Katkı ve OPW Süreci Linux Çekirdeğine Katkı ve OPW Süreci
Linux Çekirdeğine Katkı ve OPW Süreci Aybüke Özdemir
 
Centralized Supervisor Interface
Centralized Supervisor InterfaceCentralized Supervisor Interface
Centralized Supervisor Interfacegulsah_kose
 
React Bootcamp Day 2 - Yunus Demirpolat
React Bootcamp Day 2 - Yunus DemirpolatReact Bootcamp Day 2 - Yunus Demirpolat
React Bootcamp Day 2 - Yunus Demirpolatkloia
 
Git ile Sürüm Takibi
Git ile Sürüm TakibiGit ile Sürüm Takibi
Git ile Sürüm TakibiÖmer ÖZKAN
 
Açık Kaynak Sanallaştırma Çözümleri Sunumu
Açık Kaynak Sanallaştırma Çözümleri SunumuAçık Kaynak Sanallaştırma Çözümleri Sunumu
Açık Kaynak Sanallaştırma Çözümleri SunumuMSHOWTO Bilisim Toplulugu
 
Docker ve kubernetes ile ilgili kısa bilgilendirmeler
Docker ve kubernetes ile ilgili kısa bilgilendirmeler Docker ve kubernetes ile ilgili kısa bilgilendirmeler
Docker ve kubernetes ile ilgili kısa bilgilendirmeler Oğuzhan İğrek
 

What's hot (13)

Devfest Istanbul 2015 Sunumu
Devfest Istanbul 2015 SunumuDevfest Istanbul 2015 Sunumu
Devfest Istanbul 2015 Sunumu
 
Docker node-nginx-redis ipnordic demo
Docker node-nginx-redis ipnordic demoDocker node-nginx-redis ipnordic demo
Docker node-nginx-redis ipnordic demo
 
Linux Çekirdeğine Katkı ve OPW Süreci
Linux Çekirdeğine Katkı ve OPW Süreci Linux Çekirdeğine Katkı ve OPW Süreci
Linux Çekirdeğine Katkı ve OPW Süreci
 
Centralized Supervisor Interface
Centralized Supervisor InterfaceCentralized Supervisor Interface
Centralized Supervisor Interface
 
React Bootcamp Day 2 - Yunus Demirpolat
React Bootcamp Day 2 - Yunus DemirpolatReact Bootcamp Day 2 - Yunus Demirpolat
React Bootcamp Day 2 - Yunus Demirpolat
 
Docker İle Web Hosting
Docker İle Web HostingDocker İle Web Hosting
Docker İle Web Hosting
 
Git ile Sürüm Takibi
Git ile Sürüm TakibiGit ile Sürüm Takibi
Git ile Sürüm Takibi
 
Açık Kaynak Sanallaştırma Çözümleri Sunumu
Açık Kaynak Sanallaştırma Çözümleri SunumuAçık Kaynak Sanallaştırma Çözümleri Sunumu
Açık Kaynak Sanallaştırma Çözümleri Sunumu
 
Git Sunumu
Git SunumuGit Sunumu
Git Sunumu
 
Aydın sunum
Aydın sunumAydın sunum
Aydın sunum
 
Docker Egitimi
Docker EgitimiDocker Egitimi
Docker Egitimi
 
Git & Github
Git & GithubGit & Github
Git & Github
 
Docker ve kubernetes ile ilgili kısa bilgilendirmeler
Docker ve kubernetes ile ilgili kısa bilgilendirmeler Docker ve kubernetes ile ilgili kısa bilgilendirmeler
Docker ve kubernetes ile ilgili kısa bilgilendirmeler
 

Viewers also liked

Sunucularımızı Gözleyelim
Sunucularımızı GözleyelimSunucularımızı Gözleyelim
Sunucularımızı GözleyelimOguz Yarimtepe
 
Openstack heat & How Autoscaling works
Openstack heat & How Autoscaling worksOpenstack heat & How Autoscaling works
Openstack heat & How Autoscaling worksCoreStack
 
OpenStack Heat slides
OpenStack Heat slidesOpenStack Heat slides
OpenStack Heat slidesdbelova
 
An Introduction to OpenStack Heat
An Introduction to OpenStack HeatAn Introduction to OpenStack Heat
An Introduction to OpenStack HeatMirantis
 
OpenStack Introduction
OpenStack IntroductionOpenStack Introduction
OpenStack Introductionopenstackindia
 
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Stephen Gordon
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack ArchitectureMirantis
 

Viewers also liked (8)

Uzaktan eğitim
Uzaktan eğitimUzaktan eğitim
Uzaktan eğitim
 
Sunucularımızı Gözleyelim
Sunucularımızı GözleyelimSunucularımızı Gözleyelim
Sunucularımızı Gözleyelim
 
Openstack heat & How Autoscaling works
Openstack heat & How Autoscaling worksOpenstack heat & How Autoscaling works
Openstack heat & How Autoscaling works
 
OpenStack Heat slides
OpenStack Heat slidesOpenStack Heat slides
OpenStack Heat slides
 
An Introduction to OpenStack Heat
An Introduction to OpenStack HeatAn Introduction to OpenStack Heat
An Introduction to OpenStack Heat
 
OpenStack Introduction
OpenStack IntroductionOpenStack Introduction
OpenStack Introduction
 
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
 

Similar to Sanallastirmada yeni akim: Docker

vSphere Integrated Containers
vSphere Integrated ContainersvSphere Integrated Containers
vSphere Integrated ContainersVahric Muhtaryan
 
React Bootcamp Day 1 - Yunus Demirpolat
React Bootcamp Day 1 - Yunus DemirpolatReact Bootcamp Day 1 - Yunus Demirpolat
React Bootcamp Day 1 - Yunus Demirpolatkloia
 
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari OluşturmaSymfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari OluşturmaHüseyin Mert
 
Teknolojide Atılım - Docker İle Konforlu Geliştirme Ortamı
Teknolojide Atılım - Docker İle Konforlu Geliştirme OrtamıTeknolojide Atılım - Docker İle Konforlu Geliştirme Ortamı
Teknolojide Atılım - Docker İle Konforlu Geliştirme OrtamıSelçuk Usta
 
Grunt.js, Bower ve Yeoman Gibi Araçlar ile Proje Otomatizasyonu
Grunt.js, Bower ve Yeoman Gibi Araçlar ile Proje OtomatizasyonuGrunt.js, Bower ve Yeoman Gibi Araçlar ile Proje Otomatizasyonu
Grunt.js, Bower ve Yeoman Gibi Araçlar ile Proje OtomatizasyonuOmer Buyukoglu
 
Bulutlara Yerleşmek: Heroku ve Web Uygulamaları
Bulutlara Yerleşmek: Heroku ve Web UygulamalarıBulutlara Yerleşmek: Heroku ve Web Uygulamaları
Bulutlara Yerleşmek: Heroku ve Web UygulamalarıRoy Simkes
 
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş SüreciASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş SüreciSinan Bozkuş
 
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017Serhat Dirik
 
Chroot içinde {DNS, NTP, Nginx, PHP-FPM}
Chroot içinde {DNS, NTP, Nginx, PHP-FPM}Chroot içinde {DNS, NTP, Nginx, PHP-FPM}
Chroot içinde {DNS, NTP, Nginx, PHP-FPM}Ali Erdinc Koroglu
 
Android ROM Geliştirme
Android ROM GeliştirmeAndroid ROM Geliştirme
Android ROM GeliştirmeMuharrem Tac
 
Blockchain : Decentralized Application Development (Turkish)
Blockchain : Decentralized Application Development (Turkish)Blockchain : Decentralized Application Development (Turkish)
Blockchain : Decentralized Application Development (Turkish)Cihan Özhan
 

Similar to Sanallastirmada yeni akim: Docker (20)

Bmup_v1
Bmup_v1Bmup_v1
Bmup_v1
 
Docker 101
Docker 101Docker 101
Docker 101
 
vSphere Integrated Containers
vSphere Integrated ContainersvSphere Integrated Containers
vSphere Integrated Containers
 
React Bootcamp Day 1 - Yunus Demirpolat
React Bootcamp Day 1 - Yunus DemirpolatReact Bootcamp Day 1 - Yunus Demirpolat
React Bootcamp Day 1 - Yunus Demirpolat
 
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari OluşturmaSymfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
 
Teknolojide Atılım - Docker İle Konforlu Geliştirme Ortamı
Teknolojide Atılım - Docker İle Konforlu Geliştirme OrtamıTeknolojide Atılım - Docker İle Konforlu Geliştirme Ortamı
Teknolojide Atılım - Docker İle Konforlu Geliştirme Ortamı
 
Grunt.js, Bower ve Yeoman Gibi Araçlar ile Proje Otomatizasyonu
Grunt.js, Bower ve Yeoman Gibi Araçlar ile Proje OtomatizasyonuGrunt.js, Bower ve Yeoman Gibi Araçlar ile Proje Otomatizasyonu
Grunt.js, Bower ve Yeoman Gibi Araçlar ile Proje Otomatizasyonu
 
12factor apps
12factor apps12factor apps
12factor apps
 
Bulutlara Yerleşmek: Heroku ve Web Uygulamaları
Bulutlara Yerleşmek: Heroku ve Web UygulamalarıBulutlara Yerleşmek: Heroku ve Web Uygulamaları
Bulutlara Yerleşmek: Heroku ve Web Uygulamaları
 
MongoDB ve C# Driver'ı
MongoDB ve C# Driver'ıMongoDB ve C# Driver'ı
MongoDB ve C# Driver'ı
 
Openstack Magnum CaaS
Openstack Magnum CaaSOpenstack Magnum CaaS
Openstack Magnum CaaS
 
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş SüreciASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
 
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
 
Chroot içinde {DNS, NTP, Nginx, PHP-FPM}
Chroot içinde {DNS, NTP, Nginx, PHP-FPM}Chroot içinde {DNS, NTP, Nginx, PHP-FPM}
Chroot içinde {DNS, NTP, Nginx, PHP-FPM}
 
Android ROM Geliştirme
Android ROM GeliştirmeAndroid ROM Geliştirme
Android ROM Geliştirme
 
Nedir Bu Java ?
Nedir Bu Java ?Nedir Bu Java ?
Nedir Bu Java ?
 
Kubernate
KubernateKubernate
Kubernate
 
Cloud_Computer
Cloud_ComputerCloud_Computer
Cloud_Computer
 
Nginx sunu 2014
Nginx sunu 2014Nginx sunu 2014
Nginx sunu 2014
 
Blockchain : Decentralized Application Development (Turkish)
Blockchain : Decentralized Application Development (Turkish)Blockchain : Decentralized Application Development (Turkish)
Blockchain : Decentralized Application Development (Turkish)
 

Sanallastirmada yeni akim: Docker