[Link].
net
docker networks:
#brige: default network driver
#host uzerinde isole networkler kurar. Her biri ayri local area network gibi
#network driver tanimlamazsan, default olan bridge olur
#bizim labimizda oracle virtual box icindeki centos imajimiz nat ile calisiyor
#Host'unda, isole network icindeki container'larinda interneti var
#Ama disaridan erismek icin (windowsdan) docker host'un [Link] portunu container'in [Link] portuna
baglariz.
#host: stand alone container'lar icin. docker host ve container arasindaki
#isole network olmaz. Direkt olarak
#host: stand alone container'lar icin. docker host ve container arasindaki isole network olmaz.
#none: o container icin disable all networking
Container1 ve Container 2 bridge default network’de. Container1 ve Container2 ayni network’de IP
uzerinden haberlesebilir. Container2 ve Container3 ise ayni izole network’de dns uzerinden
haberlesebilir.
Container1 ve Container3 haberlesemez
docker pull alpine
#alpine container'i yarat
docker container run -dit --name alpine1 alpine ash
#alpine1 container'ina baglan: docker attach alpine1
-d :detach
-i: interactive: Konteynerin standart girişine (STDIN) açık tutar. bu da interaktif kullanım sağlar.
-t: terminal
ash: Almquist Shell. Container başlarken ash shell çalıştırır.
[Link]
#alpine container'i icinde ip adresine bak
ip a
#[Link]
#peki docker host'un networku nedir?
#farkli terminalde adminden
ip a
#docker networku de [Link]
# demek ki alpine container 'indan docker network 'umu pingleyebilirim
#alpine container'i icinde
ping [Link]
#farkli bir terminalde adminden yeni bir alpine container'i yarat
docker container run -dit --name alpine2 alpine ash
#bu container'a da baglan
docker attach alpine2
#peki bu yeni container'in ip'si ne
ip a
#peki alpine2'den alpine1'i pingleyebilir miyim tabi ki #
alpine2 container'i icinden
[Link]
ping [Link]
#yeni bir uygulamayi default network de acmayalim
#yeni bir network yaratalim
#yeni terminalden
docker network create --driver bridge alp-net
#mevcut yeni network u gor
docker network ls
#alpine3 container'ini alp-net networkunde yarat
docker container run -dit --name alpine3 --network alp-net alpine ash
#alpine3 container'ina baglan
docker attach alpine3
#alpine3 container'inin ip'si ne?
ip a
#neden farkli?
#peki ben alpine3'den alpine2'yi pingleyebilir miyim?
#hayir)
[Link]
#peki biz alp-net'i neden yarattik?
#her uygulama icin isole ortam lazim ve dns'ler uzerinden birbirlerini cagirabiliriz
#yani uygulamalari bir araya getir ve onlara ozel local area network yarat
#ve orada calissinlar
#bu sayede farkli container'lar farkli projelerde farkli networklerde calisir
#ve cakisma olmaz
#alpine2 ve alpine3'un birbirlerini gormesi icin ne yapabiliriz?
#alpine2'ye alpine3 network'unden interface verelim
#yeni terminalde
docker network connect alp-net alpine2
#bu sayede sadece alpine2'in [Link] interface'i oldu
#alpine1'de kac tane interface var?
#alpine2'de kac tane interface var?
#alpine3'de kac tane interface var?
#simdi alpine2'den alpine3'u pingle
#simdi alpine2'den alpine1'u pingle
#isimleri uzerinden cagiralim
#alpine2'den
[Link]
ping alpine3
#alpine3'den
ping alpine2
yarattigimiz networkler isole networkler
docker host üzerinden networkler nat olarak yönetiliyorlar
docker network ls
docker network create --subnet=[Link]/24 --gateway=[Link] appnet
docker network ls
docker network inspect appnet
docker run -i -d --network appnet -p 80:80 nginx