SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler 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
Dockerdaki sorun
30
Kubernetes
● Docker “kapları” için kümelenmiş
ortam
● Birden fazla Docker host
● Yük dengeleme, “auto-healing”,
ölçekleme
● Google
● Contributors = CoreOS, RedHat, HP,
IBM, Microsoft, ...
31
Kavramlar
● Pod: Bir grup “kap”
● Labels: Podları tanımlamak için
isimlendirme
● Kubelet: “kap” ajanı
● Proxy: Podlar için yük dengeleyici
● Scheduler: “Worker” nodlardaki
podları zamanlar
32
Kavramlar
● cAdvisor: Containe Advisor, kullanım
ve performans istatistiklerini sağlar
● Replication Controller: “Replication”
yönetimi
33
Kubernetes Mimarisi
34
Kubernetes Master
35
Kubernetes Minion
36
Bileşen Mimarisi
37
Diğer büyükler
● Amazon EC2 Container Service
● Google Container Service
● Rackspace
– Getcarina (Openstack + Magnum + Swarm)
38
Getcarina
39
Getcarina Dashboard
40
Getcarina CLI
41
Getcarina CLI
42
Çalıştır ve eriş
43
Port 8080
44
Sorular

Mais conteúdo relacionado

Mais procurados

Delivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOpsDelivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOpsWeaveworks
 
GIT presentation
GIT presentationGIT presentation
GIT presentationNaim Latifi
 
AIDL - Android Interface Definition Language
AIDL  - Android Interface Definition LanguageAIDL  - Android Interface Definition Language
AIDL - Android Interface Definition LanguageArvind Devaraj
 
基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroid基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroiddemuyan
 
Introduction to github slideshare
Introduction to github slideshareIntroduction to github slideshare
Introduction to github slideshareRakesh Sukumar
 
Singularity: The Inner Workings of Securely Running User Containers on HPC Sy...
Singularity: The Inner Workings of Securely Running User Containers on HPC Sy...Singularity: The Inner Workings of Securely Running User Containers on HPC Sy...
Singularity: The Inner Workings of Securely Running User Containers on HPC Sy...inside-BigData.com
 
Compiler Case Study - Design Patterns in C#
Compiler Case Study - Design Patterns in C#Compiler Case Study - Design Patterns in C#
Compiler Case Study - Design Patterns in C#CodeOps Technologies LLP
 
Linux architecture
Linux architectureLinux architecture
Linux architecturemcganesh
 
Virtualization Architecture & KVM
Virtualization Architecture & KVMVirtualization Architecture & KVM
Virtualization Architecture & KVMPradeep Kumar
 
Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Junyoung Lee
 
Linux field-update-2015
Linux field-update-2015Linux field-update-2015
Linux field-update-2015Chris Simmonds
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsLee Hanxue
 
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
『SHOWROOM』の大規模化に伴う技術課題のソリューション  ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~『SHOWROOM』の大規模化に伴う技術課題のソリューション  ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~DeNA
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatAmazon Web Services
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDKubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDSunnyvale
 

Mais procurados (20)

Delivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOpsDelivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOps
 
Basic Linux Internals
Basic Linux InternalsBasic Linux Internals
Basic Linux Internals
 
GIT presentation
GIT presentationGIT presentation
GIT presentation
 
AIDL - Android Interface Definition Language
AIDL  - Android Interface Definition LanguageAIDL  - Android Interface Definition Language
AIDL - Android Interface Definition Language
 
基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroid基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroid
 
Introduction to github slideshare
Introduction to github slideshareIntroduction to github slideshare
Introduction to github slideshare
 
Singularity: The Inner Workings of Securely Running User Containers on HPC Sy...
Singularity: The Inner Workings of Securely Running User Containers on HPC Sy...Singularity: The Inner Workings of Securely Running User Containers on HPC Sy...
Singularity: The Inner Workings of Securely Running User Containers on HPC Sy...
 
Compiler Case Study - Design Patterns in C#
Compiler Case Study - Design Patterns in C#Compiler Case Study - Design Patterns in C#
Compiler Case Study - Design Patterns in C#
 
Linux architecture
Linux architectureLinux architecture
Linux architecture
 
Virtualization Architecture & KVM
Virtualization Architecture & KVMVirtualization Architecture & KVM
Virtualization Architecture & KVM
 
Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)
 
Linux field-update-2015
Linux field-update-2015Linux field-update-2015
Linux field-update-2015
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: Foundations
 
RPM (LINUX)
RPM (LINUX)RPM (LINUX)
RPM (LINUX)
 
Linux security
Linux securityLinux security
Linux security
 
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
『SHOWROOM』の大規模化に伴う技術課題のソリューション  ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~『SHOWROOM』の大規模化に伴う技術課題のソリューション  ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red Hat
 
Linux
Linux Linux
Linux
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDKubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
 
Linux Programming
Linux ProgrammingLinux Programming
Linux Programming
 

Semelhante a Sanallaştırmada Yeni Akım - Docker

Sanallastirmada yeni akim: Docker
Sanallastirmada yeni akim: DockerSanallastirmada yeni akim: Docker
Sanallastirmada yeni akim: DockerOguz Yarimtepe
 
Abis Teknoloji şirket içi Docker sunumu
Abis Teknoloji şirket içi Docker sunumuAbis Teknoloji şirket içi Docker sunumu
Abis Teknoloji şirket içi Docker sunumuMahmut Gündoğdu
 
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır? Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır? Mustafa AKIN
 
Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup Mustafa AKIN
 
Docker node-nginx-redis ipnordic demo
Docker node-nginx-redis ipnordic demoDocker node-nginx-redis ipnordic demo
Docker node-nginx-redis ipnordic demoCemal Erdemir
 
vSphere Integrated Containers
vSphere Integrated ContainersvSphere Integrated Containers
vSphere Integrated ContainersVahric Muhtaryan
 
PHPKonf'15 PHP Uygulamalarını Docker ile Çalıştırmak
PHPKonf'15 PHP Uygulamalarını Docker ile ÇalıştırmakPHPKonf'15 PHP Uygulamalarını Docker ile Çalıştırmak
PHPKonf'15 PHP Uygulamalarını Docker ile ÇalıştırmakBerat Doğan
 
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
 
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
 
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
 
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
 
Docker Compose & Swarm @ Docker İzmir
Docker Compose & Swarm @ Docker İzmirDocker Compose & Swarm @ Docker İzmir
Docker Compose & Swarm @ Docker İzmirAlper Kanat
 
WP REST API ve WordPress Ekosisteminin Geleceği
WP REST API ve WordPress Ekosisteminin GeleceğiWP REST API ve WordPress Ekosisteminin Geleceği
WP REST API ve WordPress Ekosisteminin GeleceğiBora Yalcin
 

Semelhante a Sanallaştırmada Yeni Akım - Docker (20)

Sanallastirmada yeni akim: Docker
Sanallastirmada yeni akim: DockerSanallastirmada yeni akim: Docker
Sanallastirmada yeni akim: Docker
 
Abis Teknoloji şirket içi Docker sunumu
Abis Teknoloji şirket içi Docker sunumuAbis Teknoloji şirket içi Docker sunumu
Abis Teknoloji şirket içi Docker sunumu
 
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır? Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
 
Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup
 
Docker 101
Docker 101Docker 101
Docker 101
 
Docker node-nginx-redis ipnordic demo
Docker node-nginx-redis ipnordic demoDocker node-nginx-redis ipnordic demo
Docker node-nginx-redis ipnordic demo
 
vSphere Integrated Containers
vSphere Integrated ContainersvSphere Integrated Containers
vSphere Integrated Containers
 
PHPKonf'15 PHP Uygulamalarını Docker ile Çalıştırmak
PHPKonf'15 PHP Uygulamalarını Docker ile ÇalıştırmakPHPKonf'15 PHP Uygulamalarını Docker ile Çalıştırmak
PHPKonf'15 PHP Uygulamalarını Docker ile Çalıştırmak
 
Bmup_v1
Bmup_v1Bmup_v1
Bmup_v1
 
Docker Egitimi
Docker EgitimiDocker Egitimi
Docker Egitimi
 
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ı
 
Docker İle Web Hosting
Docker İle Web HostingDocker İle Web Hosting
Docker İle Web Hosting
 
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
 
React Bootcamp Day 1 - Yunus Demirpolat
React Bootcamp Day 1 - Yunus DemirpolatReact Bootcamp Day 1 - Yunus Demirpolat
React Bootcamp Day 1 - Yunus Demirpolat
 
12factor apps
12factor apps12factor apps
12factor apps
 
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
 
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
 
Openstack Magnum CaaS
Openstack Magnum CaaSOpenstack Magnum CaaS
Openstack Magnum CaaS
 
Docker Compose & Swarm @ Docker İzmir
Docker Compose & Swarm @ Docker İzmirDocker Compose & Swarm @ Docker İzmir
Docker Compose & Swarm @ Docker İzmir
 
WP REST API ve WordPress Ekosisteminin Geleceği
WP REST API ve WordPress Ekosisteminin GeleceğiWP REST API ve WordPress Ekosisteminin Geleceği
WP REST API ve WordPress Ekosisteminin Geleceği
 

Sanallaştırmada Yeni Akım - Docker