1
votes

Modifier un fichier dans le conteneur Docker depuis l'extérieur du conteneur?

J'ai un conteneur docker, ce conteneur s'exécute dans weblogic11 afin que Weblogic s'exécute par défaut en mode Production, donc je veux changer ce mode de production en mode Développement, pour cela je dois éditer le fichier config.xml à l'intérieur du conteneur, comment pouvons-nous éditer ce fichier depuis l'extérieur du conteneur?


0 commentaires

3 Réponses :


0
votes

Utilisation de cette commande pour entrer dans le conteneur:

docker restart container_id 

Puis vi /path/to/config.xml , nano / path / to / config .xml , .... si vous voulez éditer le fichier.

puis redémarrez le conteneur:

docker exec -it container_id bash


1 commentaires

Dès que vous redémarrez le conteneur, toutes les modifications seront perdues. De nombreuses images Docker sont très simples et n'incluent pas du tout d'éditeur de texte.



2
votes

Vous pouvez absolument le faire. Il existe une configuration de docker appelée montage . Pour monter le fichier à l'intérieur du conteneur, ajoutez le paramètre -v sur votre commande docker run :

...
services:
    web:
        image: xxx:version
        volumes:
            ...
            - /path/to/your-file.xml:/path/to/file/inside/container-shoulbe.xml
...

ou si vous utilisez docker-compose, votre docker- compose.yml devrait être comme ceci:

docker run -d -v /path/to/your-file.xml:/path/to/file/inside/container-shoulbe.xml image:version

J'espère que cela aide.


0 commentaires

0
votes

Vous pouvez le faire en montant vos volumes. Par exemple,

services:
    web:
        image: your_image:tag
        volumes:
          - app_config:/locaiton_of_config_folder

volumes:
  app_config:

Cela créera des volumes docker et il sera monté sur / var / lib / docker / volumes / volume_name / _data et vous pourrez éditer les fichiers. Assurez-vous d'utiliser sudo car les fichiers sont créés par l'utilisateur root dans le docker.

Vous pouvez vérifier la liste des volumes par volume docker ls .


0 commentaires