Docker Kursu
Java geliştiricileri için Docker: image'lar ve Dockerfile'lar, ağ, volume'lar, Docker Compose ve production'a hazır Spring Boot container'ları.
2 kategoride 9 ders
Docker Temelleri
Docker Nedir?
Docker'ın ne olduğu, container'ların sanal makinelerden nasıl farklı olduğu, image ile container arasındaki fark, Docker Engine, ve Docker Hub -- Docker kursunun ve Docker Fundamentals kategorisinin 1.'si.
Docker CLI Temelleri
docker pull, docker images, docker run, docker ps, docker logs, docker exec, docker stop/start, ve docker rm -- bir PostgreSQL container'ının tam yaşam döngüsü üzerinden, gerçek örneklerle anlatılıyor.
Docker İmajları ve Dockerfile
Bir Dockerfile nedir, FROM, WORKDIR, COPY, RUN, EXPOSE talimatları, CMD ile ENTRYPOINT arasındaki fark, ve docker build ile bir image inşa etmek -- jenerik, minimal bir web sunucusu örneği üzerinden.
Bir Spring Boot Uygulamasını Docker'a Taşımak
Bir Spring Boot JAR'ı için JRE vs JDK base image seçimi, .dockerignore, multi-stage build'ler, ve container-farkında JVM bellek boyutlandırması -- bu projenin kendi gerçek learning-platform uygulaması üzerinden.
Pratikte Docker
Docker Networking
Varsayılan bridge network'ün container'lar arasında isim çözümlemesini neden desteklemediği, user-defined network'lerle docker network create, container'dan container'a isimle iletişim, ve localhost'un bir container içinde neden farklı bir şey ifade ettiği.
Docker Volumes
Container'ların neden ephemeral (geçici) olduğu, named volume'lar, docker run -v ile bir volume mount etmek, PostgreSQL'in verisini nerede sakladığı, named volume vs bind mount, ve kalıcılığın bilinçli bir testle doğrulanması.
Docker Compose
docker-compose.yml, service'ler, depends_on, Compose'ın otomatik servis-adı-ile-networking'i, ve volumes -- "Docker Networking" ile "Docker Volumes"un elle yaptığı her şeyi tek bir dosyaya ve docker compose up'a indirerek.
Production İçin Docker (Java Uygulamaları)
Layer caching ile daha hızlı rebuild'ler, root olmayan bir kullanıcı, Dockerfile HEALTHCHECK, Compose'un depends_on: condition: service_healthy'siyle gerçek bağımlılık hazırlığını beklemek, ve production konfigürasyonu/sırlar.
Pratik Proje: Docker ile Spring Boot + PostgreSQL
Bu kursun her dersinin işlediği her parçayı -- multi-stage Dockerfile, non-root kullanıcı, HEALTHCHECK, Docker Compose, named volume, otomatik networking -- küçük, tam bir Spring Boot + PostgreSQL task tracker uygulamasında bir araya getiren, kursun kapanış dersi.