Docker 101

Docker Nedir?

Docker, uygulamaların fiziksel olarak ayrılması yerine, aynı işletim sistemi içerisinde containerlar oluşturup izole şekilde çalıştırılmasını sağlar. Bu sayede uygulamalar birbirinden bağımsız ve güvenli bir şekilde çalıştırılabilir. Docker, sunucuların daha verimli kullanılmasını sağlar ve geliştiricilerin uygulamalarını her ortamda aynı şekilde çalıştırabilmesine olanak tanır.

Docker'ın Avantajları

Docker Nasıl Yüklenir?

Docker'ı yüklemek için aşağıdaki adımları izleyebilirsiniz:

  1. Kurulum: Docker'ı Ubuntu işletim sistemine kurmak için resmi dökümantasyonu kullanabilirsiniz: Docker Install Ubuntu
  2. Sudo'suz Çalıştırma: Docker'ı sudo komutu kullanmadan çalıştırmak için şu adımları izleyebilirsiniz: Docker Linux Postinstall

Docker Nasıl Kullanılır?

Docker'ı kullanmaya başlamak için bazı temel komutlar şunlardır:

docker version
docker info
docker run --help
docker run hello-world

Container Yönetimi

  docker ps
docker ps -a
docker run --name my-docker hello-world
docker rm my-docker
docker rm f71
docker start my-docker
docker start f71
docker logs my-docker
docker run -d my-image
docker run my-image my-command

Container İçi İşlemler

docker exec my-con my-command
docker exec -it my-con sh

Detaylı Bilgi ve İzleme

docker container inspect my-con
docker image inspect hello-world
docker top my-con
docker stats my-con

Environment Değişkenleri

docker run --env key1=val1 --env key2=val2 my-image

Docker Volume

Docker volume, containerlar arasında veri paylaşımını ve verilerin kalıcı olmasını sağlar. Volume'lar, container'ların silinmesi durumunda bile verilerin korunmasına olanak tanır.

docker volume create my-volume
docker volume inspect my-volume
docker run -v my-volume:/app my-image
docker run -v /opt/app:/app my-image
docker volume ls

Docker Network

docker network ls

Varsayılan olarak network belirtilmezse, container varsayılan bridge networküne bağlanır.

docker run --network=host my-image
docker network create my_net
docker run --name con1 --hostname con1 --network my_net my-image
docker run --name con2 --hostname con2 --network my_net my-image

Aynı bridge içindeki container'lar birbirlerine hostname ile ulaşabilirler.

docker network connect my_net my_con
docker container run -p 3000:80 my-image

Bu temel komutlar ve bilgilerle Docker kullanımına başlayabilir, container ve uygulamalarınızı daha verimli ve izole bir şekilde yönetebilirsiniz. Docker'ın sunduğu bu araçlar, uygulamalarınızı daha esnek ve taşınabilir hale getirir. Docker, modern yazılım geliştirme süreçlerinde hız ve verimlilik kazandırarak, devops ve CI/CD süreçlerinin vazgeçilmez bir parçası haline gelmiştir.