Sobes.tech
Middle+

Ar galima pakeisti konteinerio DNS nustatymus be perkrovimo per komandų eilutę?

sobes.tech AI

Atsakymas iš AI

Taip. Norėdami atlikti DNS nustatymų pakeitimus neiš naujo konteinerio, galite redaguoti veikiančio konteinerio viduje esantį failą /etc/resolv.conf.

Svarbu suprasti, kad tiesioginis šio failo redagavimas konteineryje nėra išsaugomas nuolat, kai konteineris yra iš naujo sukurtas (pavyzdžiui, sustabdžius ir vėl paleidus). Norint nuolatinius DNS pakeitimus, naudokite nustatymus konteinerio arba orkestratoriaus paleidimo metu.

Tačiau, laikinas patikrinimas ar derinimas yra įmanomas.

# Suraskite reikalingo konteinerio ID arba pavadinimą
docker ps

# Paleiskite interaktyvią shell aplinkoje konteineryje
docker exec -it <konteinerio-id-arba-pavadinimas> /bin/bash

# Viduje konteinerio redaguokite resolv.conf
# Naudokite tekstinį redaktorių, įdiegtą konteineryje (pvz., vi, nano)
vi /etc/resolv.conf

# Pavyzdys pakeitimų: pridėkite naują nameserverį
# nameserver 8.8.8.8
# nameserver 8.8.4.4

# Išsaugokite ir išeikite iš redaktoriaus

# Išeikite iš konteinerio shell
exit

Po šių veiksmų konteineris naudosis naujais DNS serveriais savo užklausoms be poreikio perkrauti patį konteinerį.