Kaikki tietävät, että docker run voi määrittää porttikartoitukset, mutta kun kontti on luotu, ei ole komentoa, jota voisi suoraan muuttaa. Yleensä epäsuorasti tallenna kuva ja luo uusi kontti, jossa määritellään uusi porttikartta luomisen yhteydessä.
Onko olemassa olevaa konttia mahdollista muokata tallentamatta kuvaa? Kyllä. Löysin vastauksen Stackoverflowsta, alkuperäinen viesti on seuraava
https://stackoverflow.com/questi ... ng-docker-container
Yhdistän rap2-delos-kontin 8080-portin isäntäkoneen 80-porttiinYllä oleva portti, kuten alla on esitetty:
Juuri nytHaluan nyt kartoittaa rap2-delos-kontin 8080-portin isäntäkoneen 8080-porttiinyllä.
Opastus on seuraava
--Pysäytä kontti
--Suorita docker inspect [CONTAINER ID] | GREP ID -komento
--Suorita cd /var/lib/docker/containers -komento löytääksesi hakemiston samalla ID:llä, kuten alla olevassa kuvassa on esitetty
Pysäytä docker-moottoripalvelu, systemctl pysäytä docker
Muokkaa hostconfig.json konfiguraatiotiedostoa
esimerkki
vi hostconfig.json Jos porttikartoituksia ei aiemmin ollut, pitäisi olla tällainen kappale: "PortBindings":{} Lisää kartoitus, jossa lukee: "PortBindings":{"3306/tcp":[{"HostIp":"","HostPort":"3307"}]} Ensimmäinen numero on konttiportti ja viimeinen isäntäportti.
Kun olet muuttanut ja tallentanut konfiguraation, aloita lopulta docker-palvelu
systemctl start docker
Valmista
|