docker mysql etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
docker mysql etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
22 Nisan 2019 Pazartesi
Docker Nedir, Neden Kullanılır, Nasıl Kurulur, Nasıl Kullanılır?(Wordpress Kurulumu)
Kısa tanımıyla Docker; geliştirdiğiniz uygulamaları platform bağımsız bir şekilde kullanabilmenizi sağlayan "container" teknolojisidir.
Docker' ı anlayabilmek için öncelikle virtualization teknolojilerini anlamak gerektiğine inanıyorum.
Virtualization teknolojilerisinin ne olduğunu derinlemesine anlatmak yerine en kısa en basit anlatımıyla virtualization bir işletim sisteminin içerisine birden fazla işletim sistemini kurabilmektir. Yani bir Windows içerisine bir Windows daha kurmak ya da bir MacOs veya Linux kurabilmek gibi kısa, basit ama olayı anlatan bir tanımla başlamış olalım.
Peki bunu neden kullanmak isteriz?
Elinizde bir tane bilgisayar var diyelim ve bunu birden fazla kişinin kullanmasını istiyorsunuz. Her kullanıcının istediği programları kurmasını, kendi işlerini yapmalarını ve bütün bunlar olurken de birbirleriyle çakışmayacak şekilde tamamen izole edilmiş ortamlar oluşturmak istiyorsunuz.Daha sonra herhangi bir kişinin artık bu ortamı kullanmasını istemediğinizde sadece ona ayırdığınız izole edilmiş ortamı silerek bu kişi için kurduğunuz işletim sisteminin ve programların diğer kullanıcılar etkilemeden ortamdan kaldırılmasını istiyorsunuz. İşte bu isteklerinizi yapabildiğiniz teknolojin adı Virtualization Teknolojisi.
Docker'ı neden kullanmak isteriz?
Yine bir örnek üzerinden gitmemiz gerekirse bir .Net Core API projesinde datalarınızı Redis üzerinden okuyup yazdırsak daha mı iyi olur sorusuna cevap arıyorsunuz. Bunun için önce Redis'i kurmanız ve ayaklandırmamız gerekir. Peki aradığınız teknoloji Redis değilse? O zaman ya kurduğunuz Redis'i bilgisayarınızda bırakıp başka bir şeyler arayacaksınız yada Redis'i bilgisayarınızdan kaldırmaya çalışacaksınız yada bunların hiç birini yapmayıp Docker için hazırlanmış bir Redis imageını makinenizde çalıştıracak ve testlerinizi gerçekleştirdikten sonra oluşturmuş olduğunuz Docker Container'ı silip hayatınıza kaldığınız yerden devam edeceksiniz.
Docker tarihçesi ve daha detaylı bilgi için Gökhan Şengün tarafından yazılan şu yazıyı okuyabilirsiniz.
Docker'ın en temel mantığı "benim bilgisayarımda çalışan her bilgisayarda çalışır." dır.
Docker Nasıl Kurulur?
İşletim sisteminiz MacOs ise aşağıdaki linkten kurulumu yapabilirsiniz.
https://docs.docker.com/docker-for-mac/install/
İşletim sisteminiz Linux ise aşağıdaki linkten sol tarafta ki menüden kendi Linux'ınıza uygun kurulumu yapabilirsiniz.
https://docs.docker.com/install/
İşletim sisteminiz Hyper-V içeriyorsa. (Windows Pro, Enterprise vb) Aşağıdaki linkten indirip kurulumu yapabilirsiniz.
https://docs.docker.com/docker-for-windows/install/
Eğer işletim sisteminiz Windows 10'sa Docker toolbox ile kurulumu yapabilirsiniz.
https://docs.docker.com/toolbox/toolbox_install_windows/
NOT: Kurulum sonrası Docker Quickstart Terminal'i açın. Bunun öncesinde BIOS' dan VIRTUALIZATION ayarlarını Enable yapmayı unutmayın.
https://www.youtube.com/watch?v=za5eAnVVWfs
Artık kurulumu tamamladığımıza göre Docker-CLI üzerinde çalışmaya başlayabiliriz.
Docker CLI
Ben komutları Windows üzerinde çalıştırıp çıktıları sizinle paylaşacağım ancak bütün komutlar Mac OS X ve Linux sistemlerde de aynen çalışacaktır sadece çıktılar farklı olabilir.
İşletim sistemimizin terminalini açıp komutları yazmaya başlayabiliriz.
1. Öncelikle Docker kurulumumuzun doğru çalışıp çalışmadığını kontrol etmek için docker version komutunu yazalım.
C:\Users\xxx>docker version
Client: Docker Engine - Community
Version: 18.09.2
API version: 1.39
Go version: go1.10.8
Git commit: 6247962
Built: Sun Feb 10 04:12:31 2019
OS/Arch: windows/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.2
API version: 1.39 (minimum version 1.12)
Go version: go1.10.6
Git commit: 6247962
Built: Sun Feb 10 04:13:06 2019
OS/Arch: linux/amd64
Experimental: false
Dikkat ederseniz Client (Docker CLI) kısmında windows/amd64 olan Os/Arch tipi Server (Docker Daemon) kısmında linux/amd64 olarak görünüyor. Bunun nedeni Daemon Windows içinde ki Hypervisor tarafından çalıştırılan bir Linux makinede koşuyor.
2. Artık Docker kurulumumuzun başarılı olduğunu biliyoruz o zaman DockerHub'dan ilk Docker Image'ımızı inidirip çalıştıralım.
Benim amacım Windows bir makinede Wordpress'i kurmak. Şuan benim bilgisayarımda Wordpress için gerekli hiç bir şey kurulu değil. (MySQL, Apache Server vb.).
Öncelikle bize bir MySQL birde Wordpress Image'ı gerekli.
Wordpress image: https://hub.docker.com/_/wordpress
MySQL Image: https://hub.docker.com/_/mysql
Image dosyalarını nasıl indireceğimiz ve nasıl kullanacağımız hakkında detaylı bilgiler ilgili linklerde mevcut ben sadece temel olarak bir örneklendirme yapacağım ayrıntıya girmek isteyenler ilgili linklerde ki anlatımları takip edebilirler.
docker pull mysql pull komutu ile ilgili mySQL Docker Image'ını indiriyoruz.
C:\Users\xxx>docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
27833a3ba0a5: Already exists
864c283b3c4b: Pull complete
cea281b2278b: Pull complete
8f856c14f5af: Pull complete
9c4f38c23b6f: Pull complete
1b810e1751b3: Pull complete
5479aaef3d30: Pull complete
ded8fa2e1614: Pull complete
636033ba4d2e: Pull complete
902e6010661d: Pull complete
dbe44d2bf055: Pull complete
e906385f419d: Pull complete
Digest: sha256:a7cf659a764732a27963429a87eccc8457e6d4af0ee9d5140a3b56e74986eed7
Status: Downloaded newer image for mysql:latest
Using default tag: latest
latest: Pulling from library/mysql
27833a3ba0a5: Already exists
864c283b3c4b: Pull complete
cea281b2278b: Pull complete
8f856c14f5af: Pull complete
9c4f38c23b6f: Pull complete
1b810e1751b3: Pull complete
5479aaef3d30: Pull complete
ded8fa2e1614: Pull complete
636033ba4d2e: Pull complete
902e6010661d: Pull complete
dbe44d2bf055: Pull complete
e906385f419d: Pull complete
Digest: sha256:a7cf659a764732a27963429a87eccc8457e6d4af0ee9d5140a3b56e74986eed7
Status: Downloaded newer image for mysql:latest
docker pull wordperss ile WordPress Docker Image'ını indiriyoruz.
docker images komutu ile indirdiğimiz ve kullanıma hazır Docker Image' larımızı görebilirsiniz.
Şimdi sıra geldi mySQL ve WordPress Image'larını çalıştırmaya.
docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=Password1234 -d mysql --default-authentication-plugin=mysql_native_password
Bu komut ile MySQL'i çalıştırıyoruz.
docker run --name wordpress01 --link mysql01 -p 8080:80 -e WORDPRESS_DB_HOST=mysql01:3306 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=Password1234 -e WORDPRESS_DB_NAME=wordpress -e WORDPRESS_TABLE_PREFIX=wp_ -d wordpress
Bu komut ile Wordpress'i çalıştırıyoruz.
MySQL ve Wordpress Container'larımızı çalıştırdıktan sonra docker ps komutu ile çalışan Container'larımıza göz atalım.
Bu komut ile Wordpress'i çalıştırıyoruz.
MySQL ve Wordpress Container'larımızı çalıştırdıktan sonra docker ps komutu ile çalışan Container'larımıza göz atalım.
72818047f6f4 wordpress ... 0.0.0.0:8080->80/tcp wordpress01
f3193821ad7b mysql ... 306/tcp, 33060/tcp mysql01
f3193821ad7b mysql ... 306/tcp, 33060/tcp mysql01
Görüldüğü gibi iki Container da çalışıyor. Kullandığımızdan browserdan http:localhos:8080 adresini yazarak wordpress sitemizi kurmaya başlayabiliriz.
Kaynaklar:
https://medium.com/5bayt/windows-10-home-docker-kurulumu-7bc71475558
https://gokhansengun.com/docker-nedir-nasil-calisir-nerede-kullanilir/
https://www.youtube.com/watch?v=g_Q7TDsrwgo&list=PL_Z0TaFYSF3LTfMIRjPUlVoUipQA0JlL2&index=8