Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Docker ve container sistemleri üzerine birçok deneme yapıp sistemler kurma şansı yakaladım. Tüm bu çalışmalarım sırasında birçok konuyu araştırdım ve çıkardığım notları toparlayıp bu yazıda sizlerle paylaşmak istiyorum. Birçok ihtiyacınızı çözecek örnekledir. İstifadenize sunulur…
#çıkış yapılmış ölmüş container ları temizler
#linux
sudo docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs sudo docker rm
#windows
docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm
#kullanılmayan tüm container, image, network, volume vb. tanımlamaları temizler
docker system prune --all
#docker imajları silme. --force parametresi ile durmuş containerlarda kullanılan imajları temizler
docker image prune --force
#Docker container da AWS EBS volume kullanmak için eklentinin yüklenmesi
docker plugin install rexray/ebs EBS_ACCESSKEY=abc EBS_SECRETKEY=123
#Volume Driver rexray olarak tanımlama
docker volume create --name=test-vol-1 --opt=size=1 --driver=rexray/ebs
#Sonrasında bu oluşturduğunuz volume alanı istediğiniz gibi kullanabilirsiniz.
docker service create --name temp01 --replicas 1 --mount type=volume,source=test-vol-1,destination=/mystore --constraint node.role==worker busybox
#RexRay Plugin Swarm yml kullanımı
version: "3.3"
services:
busybox:
image: busybox
deploy:
replicas: 1
placement:
constraints: [node.role == manager]
volumes:
- test-vol-1:/mystore
networks:
- busybox
networks:
busybox:
driver: overlay
volumes:
test-vol-1:
driver: rexray/ebs
external: true
docker run -it --mount type=bind,source=appsettings.Staging.json,target=/app/appsettings.Staging.json --mount type=bind,source=web.config,target=/app/web.config -e ASPNETCORE_ENVIRONMENT=Staging -p 9006:80 netcoreimage /bin/bash
Alttaki Swarm kod örneğinde birçok bileşeni birlikte kullanma imkanına sahip oalcaksınız. Environment, extra_host, deploy, replicas, placement, update config
version: "3.7"
services:
my-awesome-imaje:
image: yourawesomeimage:latest
environment:
- JAVA_OPTS=-Xmx3g
networks:
- my-network
ports:
- 8080:8080
extra_hosts:
- foo.google.com:10.0.0.1
deploy:
mode: replicated
replicas: 1
placement:
max_replicas_per_node: 1
constraints: [node.role == worker]
update_config:
parallelism: 1
delay: 60s
configs:
- source: my-config
target: /app/application.yml
networks:
my-network:
external: true
configs:
my-config:
file: ./application.yml