Docker Hakkında Yardım
-
Hocalar Merhabalar,
Yeni yeni docker öğrenmekteyim ve çok yabancısıyım. Çabalıyorum uğraşıyorum ama kolay olmuyor tabi, fakat öğrenmeliyim. Docker ile ilgili temel bir bilgi sahibi oldum, az çok komutları öğrenebildim.
Sorum şu; Windows'ta docker ile en basitinden hangi adımlarla basit bir siteyi local'de ayağa kaldırabilirim. Adım adım hangi komutlarla ilerlemeliyim ? Anlatabilecek ve sevaba girebilecek bir babayiğit var mıdır acaba :)
Not: Konuyu umarım doğru yere açmışımdır.
-
https://www.pascallandau.com/blog/php-php-fpm-and-nginx-on-docker-in-windows-10/
şu dokumana bakman yeter. -
dockerla ilgili Türkçe video eğitim seti , Udemy seti var mı
-
çok genel bi soru sormuşsun.
evvela container nedir oradan başlamalısın;
Docker Daemon tarafından Linux çekirdeği içerisinde birbirinden izole olarak çalıştırılan process’lerin her birine verilen isimdir. Virtual Machine (Sanal Makina) analojisinde Docker’ı Hypervisor’e benzetirsek fiziksel sunucu üzerinde halihazırda koşturulmakta olan her bir işletim sisteminin (sanal sunucunun) Docker’daki karşılığı Container’dır. Container’lar milisaniyeler içerisinde başlatılabilir, istenen herhangi bir anda duraklatılabilir (Pause), tamamen durdurulabilir (Stop) ve yeniden başlatılabilirler.
docker a yeni başlayanların genel yaptığı hata tüm bileşenleri tek bir Dockerfile içerisinde (container) yazmak. bu hataya düşme.
best practice i structure olarak anlatayım kafanda canlanır biraz;
project-folder/
---app/
---docker/
------mysql/
------redis/
docker-compose.ymlburada her bileşenin kendine ait Dockerfile ı bulunur.
örnek;
FROM mysql:5.7.26 MAINTAINER bla bla <bla@bla.com> RUN usermod -u 1000 mysql RUN mkdir -p /var/run/mysqld RUN chmod -R 777 /var/run/mysqld ENV MYSQL_ALLOW_EMPTY_PASSWORD yes ADD my.cnf /etc/mysql/conf.d/my.cnf CMD ["mysqld"] EXPOSE 3306
docker-compose.yml dosyası ile bu bileşenler orchestrate edilir.version: '2' services: ### Redis Container ######################################### redis: build: ./docker/redis ports: - "6379:6379" command: redis-server ### MySQL Container ######################################### mysql: build: ./docker/mysql ports: - "3306:3306" privileged: true environment: MYSQL_USER: homestead MYSQL_PASSWORD: secret MYSQL_ROOT_PASSWORD: root
docker-compose up -d komutu ile mysql ve redis containerlerin kullanıma hazır hale gelir.
production ile development ortamında yakın bileşenlerin olur. (genelde aynı olmaz. çünkü productionda managed servicelere başvurulabilir amazon rds vs.)
böylece deployment sonrası "ama localimde çalışıyordu :(( " diyen developerlar ile karşılaşmayız.
birden fazla microservice i kolayca yönetiriz ve ölçekleyebiliriz. productiona ssh ile bağlanıp at koşturmamıza gerek kalmaz.volume, network vs çok fazla konu var tabi.
boş anıma denk geldi normalde kimse bunları oturup forumda anlatmaz. internette zibilyon tane kaynak bulabilirsin. spesifik sorularla konu açarsan veya pm atarsan cevap alabilirsin.
-
yarasaadam bunu yazdı
dockerla ilgili Türkçe video eğitim seti , Udemy seti var mı
https://www.udemy.com/docker-tr/
Bu var. İndirebilen olsa veya almış olan biri indirip atsa faydalanırdık.
-
https://labs.play-with-docker.com/
Burayı da bir incele belki işine yarar.
-
Hepinize teşekkür ederim aradığım açıklayıcı dökümanları fazlasıyla paylaştınız