Kullanışlı temel DOCKER komutları ve açıklamaları
Bu yazımda dockerla uğraşacak kişilerin özellikle bilmesinde fayda olabilcek bazı docker komutlarından bahsedicem.
docker version
docker versionu hakkında ve docker sistemi hakkında bilgi verir.

docker info
Server Version, Storage Driver, Kernel Version, Operating System, Total Memory ve daha fazlası gibi çeşitli önemli bilgileri gösterir. Ayrıca, running, paused ve stopped durumda olan container ların sayısını, download ettiğiniz image sayısını da gösterir.

docker search
DockerHub da bulunan bir image için arama yapabilirsiniz. tam image adını ne kadar star aldığını, offical image olup olmadığını görebilirsiniz.

docker pull
docker image ı indirmenize yarar. version vererek de indirmek istediğiniz image in farklı versiyonlarını çekebilirsiniz.

image çekmek için DockerHub a login olmanız gerekmez. ama image push(yüklemek) için docker login le girmeniz gerek.
docker login — username="username" — email="user mail"
docker images
ile de indirmiş olduğunuz image leri görebilirsiniz.

docker rm ile image ID lerle lokaldeki imageleri kaldırabilirsiniz.
docker tag
lokalde bulunan bir imagein adını değiştirip tag eklemeye yarar. bunun için image ID kullanılır. bu şekilde yaparak image i kendi reponuza pushlayabilirsiniz.

docker push
image i lokal ya da public repoya upload etmeye yarar. eğer herhangi bir tag girmezseniz latest olarak pushlar.


docker run
image üzerinden container çalıştırmak için kullanılır. image i önce lokalde arar bulamazsa dockerhub dan arayıp önce pull yaparak indirir daha sonra çalıştırır. eğer -d ile attach ederseniz container arka planda çalışmaya devam eder. -p ile de container portunu serverın portuyla attach edersiniz
docker ps ile aktif running containerları görebilirsiniz.

docker şöyle güzel bir şey yapmış, eğer container e isim vermezseniz sizin için bir tane random name oluşturuyor. bu name “bir sıfat” + “_” + “ meşhur(bilim adamı, yazar, mucit vs vs ) bir isim” şeklinde olur, güzel şeyler çıkabiliyor. normalde isim vermek için — name parametresi kullanabilirsiniz.
docker run -p 8888:80 —-name my_web -d nginx
eğer docker run ı -d dışında çalıştırırsanız container ön planda çalışır, çıkış yaptığınız zaman container duracaktır. durmuş containerları docker ps -a
ile görebilirsiniz.

docker exec
çalışan container a shell açabilirsiniz, bu sayede sorun varsa onu da çözebilirsiniz.

-i
interaktif terminali -t
ise terminalin attach olmasını istediğimizi belirtir container ID ile de container i belirtiriz. içine girdiğiniz an normal bir linux shell i gibi komutlar çalıştırabilirsiniz. containerlar debian tabanlıdır.
öncelikle processleri bakalım. procps u yükleyelim.
apt-get update && apt-get install -y procps

burada ilk process containerın çalıştığıdır. bunu kill ederseniz mesela containerıda kapatmış olursunuz.

docker cp
container içine lokalinizden dosya kopyalama için kullanılır.

docker stop, docker kill, docker rm, docker rmi
bir containerı kendiniz durdurmak için docker stop komutu kullanırsınız. docker kill de aynı işi yapar fakat docker stop kapanması için container a zaman verirken docker kill direk containerı kapatır.
container durdumanın önemi normalde çalışan bir containerı silemezsiniz hata verir önce durdurup daha sonra docker ps -a ile durmuş contairları listeleyip docker rm ile de durmuş containerı kaldırabiliriz.

docker rmi sistemde bulunan imagei kaldırmamıza yarar. docker rm image in kısaltmasıdır.
docker stats
aktif bulunan containerların cpu ve mem kullanımı hakkında bilgi verir.

docker inspect
bu komutla docker tüm container bilgisini json formatında gösterilmesini sağlar bu sayede istediğiniz key/value bilgisine hızlıca ulaşabilirsiniz. mesela container IP si gerekli oldu.

umarum faydalı bir yazı olmuştur, özet şekilde çok derine inmeden anlatmaya çalıştım.
daha detaylı bilgileri kendi sitesinde de bulabilirsiniz.
https://docs.docker.com/engine/reference/commandline/docker/