Open Source

Docker Kullanımı 101

Merhaba, ÇözümPark Bilişim Portalında yazmış olduğum ilk yazıya hoşgeldiniz. Bu yazımda docker a başlamak isteyen ve başlangıç komutlarını hızlıca bakmak isteyenlar için bir yazı paylaşıyorum. Eklemek istediğiniz yada hatalı olarak gördüğünüz bir nokta var ise yorumda belirtirseniz mutlu olurum.

Bu Yazımda Docker’ın kurulumu, docker üzerinde genel komutlardan,imajda yapabilecegimiz işlemlerden,Network komutlarından,  Volume yapısından ve son olarak ekstra olarak bir sciprt bırakıyorum. Bu konuları temel olarak ele aldım, iyi okumalar.

[101.1] Debian 10 a docker kurulumu

Merhaba, bu makalede Docker, docker compose ve docker machine’i kuracagız.

İlk olarak docker ı indiriyoruz script ile

curl -fsSL get.docker.com -o get-docker.sh

Sonrasında o sh dosyasını kurmak için

sh get-docker.sh

Ve bu komutla docker ı indirmiş ve kurmuş oluyoruz.

Docker Machine

Docker Machine kurmak için ise

base=https://github.com/docker/machine/releases/download/v0.16.0 &&

curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&

sudo mv /tmp/docker-machine /usr/local/bin/docker-machine &&

chmod +x /usr/local/bin/docker-machine

Komutlarını yapıştırmamız yeterli olacaktır.

Docker Compose

Docer compose kurmak için

curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

komutu ile indiriyor ve bin altına yerleştiriyoruz.

chmod +x /usr/local/bin/docker-compose

komutu ile izinleri ayarlamış ve kurulumu bitirmiş oluruz.

Dogru kurulup kurulmadıgını kontrol etmek için Docker , Docker-machine versiyon komutları ile kontrol edilebilir.

[101.2] Docker Genel Kontrol Komutları

docker info  Docker ile ilgili bilgi çıktısı veriyor.

docker versiyon docker server ve client ile ilgili detaylı biilgi veriyor.

docker containers ls Containerleri listeliyor çalışan

docker container ls -a :: çalışmayan tüm containerlere listeliyor

docker container logs [Container Adı] ismi verilen container ın loglarını inceleme

docker container stop [Container Adı]  Containerı durdurma  

docker container rm [Container Adı]  Containerı silme

-f ile opsiyonu ile zorla o containerı siler.

docker containers run –publish 8080:80 [Container Adı]   bu komut ile container’I çalıştırmış ve işerideki 80 portunu dışarıya 8080 olarak açmış oluyoruz.

— name isim veriyor

-p 8080:80 parametresi ile içeride 80 portunda olan uygulamayı dünyaya 8080 portundan açtıgımız anlamına geliyor.

-d login olmadan direk çalışıyor.

docker rename [Container Adı] [Yeni Container Adı]  containerın adını degiştirmek için kullanılan komutdur.

[101.3] Docker İmaj komutları

docker search [Container Adı] ::  Container/imaj aratmaya yarayan komutdur.

Eklenebilir Opsiyonlar

–all , -a Bütün containerları listeler

–filter , -f Kondisyona göre çıktıları filtreler

–format Pretty-print formatında containerları listeler

–last , -n -1 “n” tane oluşturulmuş son containerları listeler

–latest , -l Oluşturulmuş son containerları listeler

–no-trunc Çıktıyı olduğu gibi basmaya yarar (bkz. Truncation)

–quiet , -q Sadece IDleri gösterir

–size , -s Toplam dosya boyutlarını gösterir

docker pull [Container Adı] :: bulduğumuz container/imajı indirmek için kullanılan komut.

[101.4] Docker Network Komutları

docker network create -d bridge [Network Adı]   otomaik bağlanılan ağdır container ilk oluşturulduğunda ona bağlanır.

docker network create -d overlay [Network Adı]   özel olarak oluşturulan ağdır. özellikle containerların bağlanması gerekir

docker network ls       Ağların listelenmesi

docker network rm [Network Adı] Ağların silinmesi

docker network ls   Ağların listelenmesi

docker network inspect [Network Adı]   Ağ hakkında detaylı bilgilerin listelenmesi

docker network connect [Network Adı] [Container Adı]   caontainerın belirli network e bağlanması

docker network disconnect [Network Adı] [Container Adı]   :::Containerın ağdan çıkarılması

Eklenebilir Opsiyonlar

  –subnet=192.168.0.0/16 \

  –subnet=192.170.0.0/16 \

  –gateway=192.168.0.100 \

  –gateway=192.170.0.100 \

  –ip-range=192.168.1.0/24 \

  –aux-address=”my-router=192.168.1.5″ –aux-address=”my-switch=192.168.1.6″ \

  –aux-address=”my-printer=192.170.1.5″ –aux-address=”my-nas=192.170.1.6″ \

[101.5] Docker Volume

docker volume create [Volume Adi]

Eklenebilir Opsiyonlar

–driver , -d Volume için driver adı tanımlama

–label Volume için metadata tanımlama

–name Volume adı tanımlama

[101.6] Docker Genel silme komutları

docker volume prune [Volume Adı] Kullanılmayan volumeların hepsini silme        

docker rm -v redis  Containerı volume ile beraber silme     

docker rm $(docker ps -a -f status=exited -q) Kapatılmış bütün containerların silinmesi        

docker rm `docker ps -a -q`  /   docker rm $(docker ps -a -q) Durdurulmuş bütün containerların silinmesi

docker rmi $(docker images -f dangling=true -q)   Dangling olan bütün imagelerin silinms

docker rmi $(docker images -a -q) Bütün imagelerin silinmesi

docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)  Bütün containerların durdulması ve silinmesi

docker volume rm $(docker volume ls -f dangling=true -q) Dangling olan bütün volumeların silinmesi

Ekstra

Buradaki script ile docker’ı ve portainer’ı otomatik olarak kurabilirsiniz.

#! /bin/bash

#  apt-get update ; touch docker-kurulum.sh;chmod u+x docker-kurulum.sh;nano docker-kurulum.sh
# ./docker-kurulum.sh

echo "===================================================="
echo "              Yükleme Başladı                      "
echo "==================================================="

apt-get update 
apt-get -y install curl
curl -fsSL get.docker.com -o get-docker.sh &&
sh get-docker.sh&&
base=https://github.com/docker/machine/releases/download/v0.16.0 &&
curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
mv /tmp/docker-machine /usr/local/bin/docker-machine &&
chmod +x /usr/local/bin/docker-machine &&
curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose &&
chmod +x /usr/local/bin/docker-compose &&
docker volume create portainer_data  
docker run -d  -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

echo "===================================================="
echo "              Yükleme Bitti                         "
echo "===================================================="

Kaynakça;

https://www.udemy.com/course/docker-tr/

https://medium.com/kodgemisi/docker-etkili-kullanmak-icin-komutlar-93faf9329142

İlgili Makaleler

7 Yorum

  1. Hayırlı olsun, başarılarının devamını dilerim. Docker a merak duyanlar için güzel bir çalışma olmuş, ağzına sağlık…

  2. Öncelikle emekleriniz için teşekkürler. Ama docker ile ilgili makalelerinize docker nedir sektörde hangi problemi çözer onu diğer çözümlerden farklı kılan nedir konularını öne alıp başlamış olsaydın daha faydalı olurdu diye düşünüyorum.

Bir yanıt yazın

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

Başa dön tuşu