Visi žino, kad docker run gali nurodyti prievadų susiejimus, tačiau sugeneravus konteinerį nėra komandos, kurią būtų galima tiesiogiai modifikuoti. Paprastai netiesiogiai, išsaugokite vaizdą ir sukurkite naują konteinerį, nurodydami naują uosto žemėlapį kūrimo metu.
Ar yra būdas modifikuoti esamą konteinerį neišsaugojus vaizdo? Taip. Radau atsakymą apie stackoverflow, originalus pranešimas yra toks
https://stackoverflow.com/questi ... ng-docker-container
Aš susieju rap2-delos konteinerio 8080 prievadą su 80 pagrindinio kompiuterioViršuje esantis prievadas, kaip parodyta toliau:
DabarDabar noriu susieti rap2-delos konteinerio 8080 prievadą su pagrindinio kompiuterio 8080 prievaduaukščiau.
Pamoka yra tokia
--Sustabdyti konteinerį
--Paleisti docker patikrinti [KONTEINERIO ID] | grep id komanda
--Paleiskite komandą cd /var/lib/docker/containers, kad rastumėte katalogą su tuo pačiu ID, kaip parodyta paveikslėlyje žemiau
Stop docker variklio paslauga, systemctl stop docker
Modifikuokite hostconfig.json konfigūracijos failą
pavyzdys
VI hostconfig.json Jei anksčiau nebuvo prievadų žemėlapių, turėtų būti tokia pastraipa: "PortBindings":{} Įtraukite susiejimą, kuriame rašoma: "PortBindings":{"3306/tcp":[{"HostIp":"","HostPort":"3307"}]} Pirmasis skaičius yra konteinerio prievadas, o paskutinis - pagrindinis prievadas.
Pakeitę ir išsaugoję konfigūraciją, pagaliau paleiskite "docker" paslaugą
systemctl paleisti docker
Atlikta
|