Skip to content
Menu
msandor honlapja
  • Bemutatkozás
msandor honlapja

Docker: hibaelhárítás, miért nincs névfeloldás a konténerben?

Posted on 2023.12.18.2023.12.18.

Csináltam (ezúttal magamnak) egy új szervert a neten, és ahogy illik csináltam egy ugyanolyan teszt szervert is a laptopomon. Szárazabb, biztonságosabb érzés teszt környezetben tesztelni pl. egy ansible-playbookot.

Mivel mindkét szervert ansible-playbookokal építettem fel, így szoftveresen semmi különbség sem volt a kettő között. Kizárólag az IP címek, host nevek különböztek. Szándékosan ugyanannyi memória és processzor volt a teszt szerverben is, hogy ez se vezessen félre.

Majd a „belakás” közben észrevettem, hogy a teszt szerveren lévő wordpress konténer nem látta az adatbázis szervert. Az éles szerveren minden rendben volt. Természetesen ugyanaz a docker-compose.yml fájl volt mindkét szerverre felmásolva. Beléptem a teszt wordpress konténerbe, és szerettem volna telepíteni egy nmap-ot. Aki nem ismerné, az nmap egy remek hálózati port szkenner app.

Valami hasonló parancsot kell elképzelni:

# nmap -p 3306 wordpress-db

Ha az eredmény „open”, akkor minden rendben van, a weboldal látja az adatbázis szervert. Ám a teszt konténerben fel se tudtam telepíteni az nmap-ot, a csomagkezelő nem tudta letölteni a netről a fájlokat.

Mi van?!

Most mutatok egy egyszerű és kis méretű konténert, ahol alap hálózati teszteket tudunk végrehajtani:

# docker run --rm busybox nslookup bme.hu
;; connection timed out; no servers could be reached

Az eredmény: idő túllépés.

Pici magyarázat a parancshoz: a „docker run”-nal futtatjuk a konténerünket, az „–rm” kapcsoló azt jelenti, hogy kilépés után törli is a konténert (magyarul nem hagyunk szemetet magunk után), a „busybox” a konténer neve, mindössze 4,26 MB, és a végén van a parancs: „nslookup bme.hu”.

Az „nslookup hostnév” konténeren kívül is futtatható, sőt futtattam is, ott természetesen minden rendben volt.

Sok guglizás után arra jutottam, hogy valamilyen tűzfalas probléma van nálam itthon, ezért a teszt szerveren leállítottam a tűzfalat, és újraindítottam a dockert:

# systemctl stop firewalld
# systemctl restart docker

Újra elvégeztem a tesztet:

# docker run --rm busybox nslookup bme.hu
Server:         10.0.2.3
Address:        10.0.2.3:53

Non-authoritative answer:
Name:   bme.hu
Address: 152.66.115.203

Non-authoritative answer:
Name:   bme.hu
Address: 2001:738:2001:2001::f0c1

Innentől kezdve már látta a wordpress konténer a mysql adatbázisát.

Azóta se jöttem rá, hogy mitől van ez a jelenség, csak tippelni tudok, hogy nálam az IPv6 protokoll rosszul van konfigurálva, mindenesetre a teszt szerveren tudok élni kikapcsolt tűzfallal…

Vélemény, hozzászólás? Válasz megszakítása

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

Kategóriák

  • ansible
  • docker
  • e-mail
  • git
  • hardware
  • hibakeresés
  • kubernetes
  • ldap
  • Linux
  • MariaDB
  • OpenWrt
  • Proxmox
  • security
  • SNMP
  • Synology
  • teszt
  • Unifi
  • UPS
  • vagrant
  • Virtualbox
  • zabbix
©2025 msandor honlapja | WordPress Theme by Superb WordPress Themes

Adatkezelési tájékoztató || Hibát talált az oldalon? Írja meg nekem. || Impresszum || Powered by WordPress

Oldalunk cookie-kat ("sütiket") használ. Ezen fájlok információkat szolgáltatnak számunkra a felhasználó oldallátogatási szokásairól a legjobb felhasználói élmény nyújtása érdekében, de nem tárolnak személyes információkat, adatokat. Szolgáltatásaink igénybe vételével Ön beleegyezik a cookie-k használatába. Kérjük, hogy kattintson az Elfogadom gombra, amennyiben böngészni szeretné weboldalunkat.ElfogadomAdatvédelmi irányelvek