Toată lumea știe că docker run poate specifica mapări de port, dar odată ce containerul este generat, nu există o comandă care să poată fi modificată direct. De obicei, indirect, salvează imaginea și creează un container nou, specificând noua hartă a portului la momentul creării.
Există vreo modalitate de a modifica containerul existent fără a salva imaginea? Da. Am găsit răspunsul pe stackoverflow, postarea originală este următoarea
https://stackoverflow.com/questi ... ng-docker-container
Mapez portul 8080 al containerului rap2-delos la portul 80 al mașinii gazdăPortul de deasupra, așa cum se arată mai jos:
Chiar acumAcum vreau să mapez portul 8080 al containerului rap2-delos la portul 8080 al mașinii gazdădeasupra.
Tutorialul este următorul
--Opriți containerul
--Rulează docker inspect [ID CONTAINER] | Comanda ID GREP
--Rulează comanda cd /var/lib/docker/containers pentru a găsi directorul cu același ID, așa cum este arătat în figura de mai jos
Stop docker engine service, systemctl stop docker
Modifică fișierul de configurare hostconfig.json
exemplu
vi hostconfig.json Dacă înainte nu exista mapare de porturi, ar trebui să existe un paragraf de genul acesta: "PortBindings":{} Adaugă o mapare care să spună: "PortBindings":{"3306/tcp":[{{"HostIp":"","HostPort":"3307"}]} Primul număr este portul containerului, iar ultimul este portul gazdă.
După ce modifici și salvezi configurația, în sfârșit pornești serviciul docker
SystemCTL Start Docker
Gata
|