Je suis nouveau au docker. Dans notre environnement de menu fixe, Apache a été installé et il est opérationnel.
Maintenant, je dois entrer dans le conteneur, modifier le httpd.conf
, le sauvegarder puis relancer Apache.
Pouvez-vous me dire, s'il vous plaît, ce qu'il faut faire ... Je suis assez confus au sujet des commandes - "Exec" et "attach".
Pas besoin d'attacher ou d'exécuter (ce qui est vraiment une fonctionnalité de débogage de toute façon)
Vous pouvez utiliser docker cp
pour copier une version locale de votre httpd.conf
dans le conteneur. (De cette façon, vous pourrez modifier le fichier dans le confort de votre environnement local)
docker cp httpd.conf <yourcontainer_name>:/path/to/httpd.conf
Une fois que cela est fait, vous pouvez envoyer un signal USR1 pour demander un redémarrage en douceur (voir docker kill
syntaxe):
docker kill --signal="USR1" <yourcontainer_name>
Remplacez <yourcontainer_name>
par l'ID ou le nom du conteneur qui exécute Apache.
Cela ne fonctionnera que si le processus principal lancé par votre conteneur est
CMD ["apachectl", "-DFOREGROUND"]
Voir plus à " Docker: Comment redémarrer un service exécuté dans Docker Container "
Entrez un conteneur en ouvrant un shell bash:
docker exec -it containerName bash
Je suppose que vous feriez mieux de recharger Apache config et de ne pas redémarrer Apache . Mais je ne voudrais pas aller dans cette voie et simplement modifier Dockerfile, reconstruire et réexécuter l'image.
modifier pour le lien: https://docs.docker.com/engine/reference/commandline/exec/
Pour mettre à jour les configurations Apache, vous devez:
Remplacez les configurations Apache.
une. Si vous avez un dossier de configuration mappé de l'extérieur du conteneur, vous devez mettre à jour les configurations en dehors du conteneur . B. Si vos configurations Apache sont stockées dans un conteneur, vous devrez exécuter quelque chose comme ceci:
docker cp httpd.conf YOUR_CONTAINER_NAME: /path/to/httpd.conf
Do Redémarrage Apache Graceful :
Sudo docker exec -it YOUR_CONTAINER_NAME apachectl gracieux