Tout le monde sait que docker run peut spécifier des mappages de ports, mais une fois qu’un conteneur est généré, il n’y a pas de commande pouvant être modifiée directement. Généralement, de façon indirecte, on sauvegarde l’image et on crée un nouveau conteneur, en spécifiant la nouvelle carte de port au moment de la création.
Existe-t-il un moyen de modifier le conteneur existant sans sauvegarder l’image ? Oui. J’ai trouvé la réponse sur stackoverflow, le post original est le suivant
https://stackoverflow.com/questi ... ng-docker-container
Je mappe le port 8080 du conteneur Rap2-delos sur le port 80 de la machine hôtePorte ci-dessus, comme montré ci-dessous :
Tout de suiteJe veux maintenant mapper le port 8080 du conteneur Rap2-Delos au port 8080 de la machine hôteci-dessus.
Le tutoriel est le suivant
--Arrêtez le conteneur
--Exécuter docker inspect [ID CONTENEUR] | Commande ID du GREP
--Exécutez la commande cd /var/lib/docker/containers pour trouver le répertoire avec le même ID, comme montré dans la figure ci-dessous
Arrêter le service du moteur docker, systemctl arrêter docker
Modifier le fichier de configuration hostconfig.json
exemple
vi hostconfig.json S’il n’y avait pas de mappage de port auparavant, il devrait y avoir un paragraphe comme celui-ci : « PortBindings » :{} Ajoutez une correspondance qui se lit comme suit : « PortBindings » :{"3306/tcp » :[{{"HostIp » :" »,"HostPort » :"3307"}]} Le premier chiffre est le port conteneur, et le dernier est le port hôte.
Après avoir modifié et sauvegardé la configuration, lance enfin le service docker
systemctl start docker
Marché conclu
|