Docker Network Ayarları Değişikliği

31 Eki

Docker sanallaştırma sistemi, varsayılan ayarlarda 172.17.0.0/12 ağlarını kullanır. Sistemde bu ağlardaki adresleri kullanan başka cihazlar (sunucu, bilgisayar vs.) varsa Docker ayarlarını değiştirebilirsiniz. Bu durumda, olası ağ çakışmalarını önlenebilir. Örneğin 172.21.122.23 adresinde çalışan bir varitabanı sunucusu varsa ve kendi bilgisayarınız bu sunucuya ulaşabildiği halde docker container erişemiyorsa, bu durumda çakışma olma ihtimali yüksektir.

Docker mevcut ağ ayarlarının görüntülenmesi

Docker üzerinde hangi ağların kullanıldığını öğrenmek için aşağıdaki komut kullanılır:

docker network list

Komut çıktısında NAME sütunu, kullanılan ağların adlarını gösterir.

NETWORK ID          NAME               DRIVER              SCOPE
24a38927e118        bridge             bridge              local
b92a38ed491b        elk_net            bridge              local
1d9237551d88        microservice       bridge              local
f57c6099ef24        host               host                local
dbb6fb4096c5        none               null                local

Kullanılan adres alanı (address space) hakkında bilgi almak için aşağıdaki komut kullanılır.

docker network inspect elk_net | grep Subnet
"Subnet": "172.19.0.0/16"

docker network inspect bridge | grep Subnet
"Subnet": "172.19.0.0/16"

Görüldüğü üzere Subnet ayarları tüm network’ler için 172.19.0.0/16 şeklindedir.

Docker mevcut ağ ayarlarının değiştirilmesi

Mevcut ağ ayarlarının değiştirilmesi için windows ve linux işletim sistemlerinde deamon.json dosyalarında düzenleme yapılması gerekmektedir.

Linux dosya konumu: /etc/docker/daemon.json

Windows dosya konumu: C:/Users/YourUserName/.docker/daemon.json

Adım-1

Dosyaya aşağıdaki komutların girilmesi

{
	"live-restore": true,
	"bip": "10.10.0.1/16",
	"default-address-pools": [{
		"base": "10.0.0.0/8",
		"size": 16
	}]
}

Adım-2

Tüm container’ların kaldırılması.

docker rm -f `docker ps -q -a`

Adım-3

Kullanılmayan Docker objelerinin silinmesi.

docker system prune
docker network prune

Adım-4

Docker’ın yeniden başlatılması.

Windows sistemde docker desktop yeniden başlatılır. Linux sistemlerde aşağıdaki komut çalıştırlabilir.

systemctl restart docker

Bu işlemlerin ardından adres alanı (address space) bilgilerine tekrar bakıldığında aşağıdaki gibi değiştiği görülür.

docker network inspect bridge | grep Subnet
"Subnet": "10.10.0.0/16"

Bu durumda network değişikliği tamamlanmış olacaktır. Artık 172’li ip çakışma durumları ortadan kalkacaktır.

WSL Ubuntu Versiyon Güncelleme

26 Ağu

WSL üzerinde çalışan ubuntu veya diğer ürünlerin versionunu görüntülemek için aşağıdaki komut kullanılır.

wsl -l -v

 NAME                   STATE           VERSION
 docker-desktop-data    Stopped         2
 Ubuntu-20.04           Running         1
 docker-desktop         Stopped         2 

Ubuntu versionunu 2 yapmak için kullanılacak komut, kurulu olan ubuntu versiyonuna göre aşağıdaki şekilde yapılmaktadır. Örnekteki 20.04 sürümü kurulumunuza göre değişebilir.

wsl --set-version Ubuntu-20.04 2

 Conversion in progress, this may take a few minutes…
 For information on key differences with WSL 2 please visit https://aka.ms/wsl2
 Conversion complete.

İşlem tamamlandıktan sonra yeni version listesi aşağıdaki gibi olacaktır.

wsl -l -v

 NAME                   STATE           VERSION
 docker-desktop-data    Stopped         2
 Ubuntu-20.04           Running         2
 docker-desktop         Stopped         2