Docker Komut Örnekleri

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

Yazıyı Paylaşın
Mehmet Emin
Mehmet Emin

Lise yıllarında başlayan yazılım merakım üniversite sonunda mesleğim haline dönüştü :)

PHP başta olmak üzere, C#, SQL dillerini aktif olarak kullıyorum. Aktif olarak bir yazılım firmasında çalışma hayatıma devam ediyorum.

Code.Now();

Articles: 20

Leave a Reply

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir