Bu benim ilk DevOps projemdir.
docker login -u KULLANICI_ADI -p PAROLA
KonuştuğumYer emir araç : sürüm
---------------------------------------------------------------------
docker pull nginx : stable-alpine3.23-perl
docker pull nginx : latest
docker pull nginx
docker push kullaniciadi/nginx : sürümno
docker run -it -d -p 9998:80 --name mydemo2 nginx:alpine
docker login -p 123456789 -u kullaniciadi
docker ps
yağ + domates + tuz + soğan + patates + su + salça + ateş + kibrit + tencere + bıçak + kaşık + kapak + tabak = yemek v1.0
algoritma
malzemeleri alınacak
ocağa kontrol
tencereyi ocağın üstüne koy
bıçak kontrol et
bıçağı al
domatesi doğra
docker build --build-arg JAR_FILE=target/devops_001_hello-1.0.0.jar --tag mimaraslan/devops_001_hello:v001 .
docker build --build-arg JAR_FILE=target/devops_001_hello-1.0.2.jar --tag mimaraslan/devops_001_hello:v002 .
docker buildx build --build-arg JAR_FILE=target/devops_001_hello-1.0.3.jar --tag mimaraslan/devops_001_hello:v003 .
docker buildx build --build-arg JAR_FILE=target/devops_001_hello-1.0.3.jar --tag mimaraslan/devops_001_hello:latest .
docker run -it -d -p 9091:8080 --name my-app1 mimaraslan/devops_001_hello:v001
docker run -it -d -p 9092:8080 --name my-app2 mimaraslan/devops_001_hello:v002
docker run -it -d -p 9093:8080 --name my-app3 mimaraslan/devops_001_hello:v003
docker push mimaraslan/devops_001_hello:v001
docker push mimaraslan/devops_001_hello:v002
docker push mimaraslan/devops_001_hello:v003
docker pull mimaraslan/devops_001_hello:v001
docker pull mimaraslan/devops_001_hello:v002
docker pull mimaraslan/devops_001_hello:v003
docker build --build-arg JAR_FILE=build/libs/devops_002_hello-1.0.0.jar --tag mimaraslan/devops_002_hello:v001 .
docker build --build-arg JAR_FILE=build/libs/devops_002_hello-1.0.2.jar --tag mimaraslan/devops_002_hello:v002 .
docker build --build-arg JAR_FILE=build/libs/devops_002_hello-1.0.3.jar --tag mimaraslan/devops_002_hello:v003 .
docker build --build-arg JAR_FILE=build/libs/devops_002_hello-1.0.2.jar --tag mimaraslan/devops_002_hello:latest .
docker push mimaraslan/devops_002_hello:v001
docker push mimaraslan/devops_002_hello:v002
docker push mimaraslan/devops_002_hello:v003
docker push mimaraslan/devops_002_hello:latest
docker pull mimaraslan/devops_002_hello:v001
docker pull mimaraslan/devops_002_hello:v002
docker pull mimaraslan/devops_002_hello:v003
docker pull mimaraslan/devops_002_hello
Sistemler uygulamalardan meydana gelir. Apps (uygulamalar) aralarında da bağ vardır.
docker network ls
docker network create --help
docker network create -d bridge my-network
docker network create --driver bridge my-network
Network bilgisi
docker network inspect my-network
Bu networkü kim kullanacak?
Çalışan bir container'ın network'e bağlanması kullanması lazım.
Image1 ---> run ---> Container1 (Kalp) Image2 ---> run ---> Container2 (Beyin) Image3 ---> run ---> Container3 (Akciğer)
Bunların bir arada çalışmasını Container1 + Container2 + Container3
docker network --help
docker network connect my-network my-app-1
docker network connect my-network my-app-2
docker network connect my-network my-app-3
docker network disconnect my-network my-app-1
docker network rm my-network
Volumleri listele
docker volume ls
Volume oluştur
docker volume create my-volume
Volume bilgisini almak
docker volume inspect my-volume
docker volume rm
ÖDEV: my-volume ile my-app1'i bağlayın. Gordon Ai o kısımdan öğrenebilirsiniz.
Bu kullanılmayınları
docker volume prune
Zorla silmek istiyorsak
docker volume prune --all
Sadece istediğim bir volume silmek
docker volume rm my-volume2
Sadece istediğim birden fazla volume silmek
docker volume rm my-volume1 my-volume2 my-volume3
docker compose version
docker compose -f compose.yaml up
docker compose --file compose.yaml up
docker compose -f compose.yaml down
docker compose --file compose.yaml down
Windows
winget install Kubernetes.minikube
MacOS
brew install minikube
Bir terminal aç. Minikube çalıştır ve bu terminali çalışman bitinceye kapatma!
minikube start
İşin bitince minikube aracını durudur.
minikube stop
yeni bir terminal aç
Kubernetes ile iletişim kuracağım aracın adı
kubectl version
Yardım komutu
kubectl get --help
Sistemdeki kaynakların isimlerindeki kısatlmalar
kubectl api-resources
Pod oluşturması için
kubectl run my-pod1 --image=mimaraslan/devops_002_hello:v002
kubectl run my-pod2 --image=mimaraslan/devops_002_hello:v002
kubectl run my-pod3 --image=mimaraslan/devops_002_hello:v002
Image'den pod yapmak
kubectl run nginx --image=nginx
Podların listesini bize verir.
kubectl get pods
kubectl get pod
kubectl get po
Podların bize detayını verir.
kubectl get pods -o wide
Nodeları listeler
kubectl get nodes
kubectl get node
kubectl get no
Nodeların detayını verir.
kubectl get nodes -o wide
D:\workspace\devops_002_hello\K8s_01_pod
kubectl apply -f _01_my_pod_create.yaml
kubectl delete -f _01_my_pod_create.yaml
kubectl apply -f _01_my_deployment_create.yaml
kubectl delete -f _01_my_deployment_create.yaml
kubectl apply -f _01_my_service_create.yaml
kubectl delete -f _01_my_service_create.yaml
minikube service devops-002-hello
kubectl port-forward service/devops-002-hello 9090:9090