Docker Sık Kullanılan Komutlar-2

Merhabalar serinin 2. yazısında sık kullandığım docker komutlarını eklemeye devam ediyorum

  1. Docker Network Kavramı
  2. Docker Container IP Adresini Öğrenmek
  3. Docker Sanal Ağ Oluşturmak
  4. Docker Network Listeleme
  5. Docker Network Bilgilerini İnceleme
  6. Çalışan Bir Docker Container’ı Bir Network’e Bağlamak
  7. Docker Container Adını Değiştirmek
  8. Askıda Kalan Imajları Silmek
  9. Docker’ı sudo ile çalıştırmaktan kurtulmak – docker without sudo

1. Docker Network Kavramı

Her docker container doğduğunda otomatik olarak bir sanal ağa bağlanır. Bu sanal ağ türü “bridge network”tür. Aynı sanal ağda bulunan tüm container’lar port numarası bildirmeksizin birbirleri ile görüşürler. Benim tarzım bir uygulamaya ait tüm container’ları aynı ağa bağlamak.

2. Docker Container IP Adresini Öğrenmek

sudo docker container inspect --format '{{ .NetworkSettings.IPAddress  }}' f1ae

3. Docker Sanal Ağ Oluşturmak

sudo docker network create erkan_vn
Çıktı:
bcec51e1e0aba7092d359944898a08bc5cb621900bf830d8b1c3ff4fddb5679c

4. Docker Network Listeleme

sudo docker network ls
Örnek çıktı:
NETWORK ID          NAME                DRIVER              SCOPE
756b8bea1d7e        bridge              bridge              local
2019947744f4        dude                bridge              local
bcec51e1e0ab        erkan_vn            bridge              local
2955cb5bab0c        host                host                local
6c3283b3f616        my_app_net          bridge              local
36691f70dc54        none                null                local

5. Docker Network Bilgilerini İnceleme

sudo docker network inspect erkan_vn
Çıktı:
[
    {
        "Name": "erkan_vn",
        "Id": "bcec51e1e0aba7092d359944898a08bc5cb621900bf830d8b1c3ff4fddb5679c",
        "Created": "2019-05-01T15:08:39.358563898+03:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.20.0.0/16",
                    "Gateway": "172.20.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {},
        "Options": {},
        "Labels": {}
    }
]

6. Çalışan Bir Docker Container’ı Bir Network’e Bağlamak

sudo docker network connect erkan_vn webhost

Önce network adı sonra container adı veya ip numarası

7. Docker Container Adını Değiştirmek

docker rename <container_id> <yeni_isim>
Örnek:
sudo docker rename ad0 elasticsearch

8. Askıda Kalan Imajları Silmek

Bazı imajlar tam olarak oluşmaz ve bir id isim alamadan havada kalır. Normalde bir imajı sudo docker image rm <image_id> ile silebilirken image_id alamayan bu tür imajları temizlemek için özel bir komut gerekir.

sudo docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
erkan/simpleweb     latest              f058d31296a5        15 minutes ago      118MB
<none>              <none>              885492019721        About an hour ago   878MB
erkan/redis         latest              127a6d63841b        4 hours ago         108MB
<none>              <none>              d4d6c3d0352d        5 hours ago         8.55MB
redis               latest              7eed8df88d3b        3 days ago          98.2MB
node                alpine              b7dc3fe8d4f8        9 days ago          115MB
alpine              latest              e7d92cdc71fe        6 weeks ago         5.59MB
busybox             latest              6d5fcfe5ff17        2 months ago        1.22MB
hello-world         latest              fce289e99eb9        14 months ago       1.84kB
node                6.14                5cf367ab9117        15 months ago       878MB

Yukarıda gördüğümüz gibi <none> olan imajlar var bunları nasıl kadırırız?

sudo docker rmi $(sudo docker images --filter "dangling=true" -q --no-trunc)

Sonuç:
Deleted: sha256:885492019721e918cffdade4963a73036b42174f793ddb20f54ed611aa047b81
Deleted: sha256:996806714a84be0d98bd684b17e73015e15c73eb674923e8f53279f3e0d3ea2a
Deleted: sha256:3b33784c5fad1fc4a19034cce166e4767b6c86f7a5160a7417729e38ccc45ab0
Deleted: sha256:d4d6c3d0352d840218f727bbaf84c11891838638fac868c592f4ea5d90bfd978

Sonucu kontrol edelim:

 sudo docker image ls
[sudo] password for murat:
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
erkan/simpleweb     latest              f058d31296a5        26 minutes ago      118MB
erkan/redis         latest              127a6d63841b        4 hours ago         108MB
redis               latest              7eed8df88d3b        3 days ago          98.2MB
node                alpine              b7dc3fe8d4f8        9 days ago          115MB
alpine              latest              e7d92cdc71fe        6 weeks ago         5.59MB
busybox             latest              6d5fcfe5ff17        2 months ago        1.22MB
hello-world         latest              fce289e99eb9        14 months ago       1.84kB
node                6.14                5cf367ab9117        15 months ago       878MB

9. Docker’ı sudo ile çalıştırmaktan kurtulmak

Eğer docker’ı sudo ile çalıştıracak şekilde kurmuşsanız ve python sanal ortamında bunu denerseniz sudo komutunun orada çalışmadığını fark edeceksiniz. Bunun çözümü kullanıcıyı docker grubuna eklemek (Docker kurulurken oluşuyor). Dikkat edin docker grubuna eklediğiniz kullanıcı sudo yetkisine sahip olacaktır.

# erkan kullanıcısını docker grubuna ekle
erkan@ubuntu-desktop:~$ usermod -aG docker erkan

Eğer sanal makine kullanıyorsanız makinenizi yeniden başlatın.

Yazar Hakkında
Toplam 146 yazı
Erkan ŞİRİN
Erkan ŞİRİN
2014'ten beri hem akademik alanda hem de sektörde pratik anlamda büyük veri ve veri bilimi ile ilgili çalışmalar yürütmektedir. Büyük veri ve veri bilimi ile ilgili birçok kurum ve şirkete danışmanlık ve eğitimler vermekte, projeler icra etmektedir. Çalışma alanları: büyük veri platformlarının kurulum ve yönetimi, büyük veri üzerinde makine öğrenmesi, olağan dışılık ve sahtecilik tespiti, akan veri işleme ve veri hazırlama sürecidir.
Yorumlar (Yorum yapılmamış)

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

×

Bir Şeyler Ara