Comment apporter des modifications à httpd.conf de apache s'exécute à l'intérieur conteneur DOCKER et redémarrer apache
Je suis nouveau sur docker. Dans notre menu fixe à l'environnement Apache a été installé et qu'il est en place et en cours d'exécution.
Maintenant, j'ai besoin d'entrer dans le conteneur, modifier la httpd.conf
, l'enregistrer et puis j'ai besoin de redémarrer apache.
Pouvez-vous les gars s'il vous plaît laissez-moi savoir, ce qui doit être fait.
Je suis à peu près confus au sujet de la -
'exec' et 'joindre' commandes.
OriginalL'auteur Sunag Sunagms | 2015-12-24
Vous devez vous connecter pour publier un commentaire.
Pas besoin d'attacher ou de exec (qui est vraiment une fonctionnalité de débogage de toute façon)
Vous pouvez utiliser
panneau de cp
pour copier une version locale de votrehttpd.conf
pour le conteneur. (De cette façon, vous pouvez modifier le fichier à partir du confort de votre environnement local)Une fois que c'est fait, vous pouvez envoyer un signal USR1 pour demander un redémarrage (voir
panneau de tuer
syntaxe):Remplacer
<yourcontainer_name>
par le numéro du conteneur ou le nom qui est en cours d'exécution d'Apache.Qui ne fonctionne que si les principaux processus lancé par votre conteneur est
Voir plus à "Docker: Comment redémarrer un service en cours d'exécution dans le Conteneur Docker"
très simple: faire un
docker inspect <yourContainer_name>|grep CMD
comme pour USR1, qui est expliqué dans kuldeeparya.wordpress.com/2015/01/17/..., le dernier lien dans ma réponse.
Merci beaucoup VonC !! ,,, Permettez-moi de passer par l'article . Si plus d'infos nécessaires je vais vous laisser savoir!!.
Salut VonC, Grâce CMD a donné l'info que cmd : /run-httpd.sh Le fichier a le contenu suivant : #!/bin/bash exec /usr/sbin/apachectl -D de premier plan, Cela signifie que je peux utiliser USR1 commande pour redémarrer apache gracieusement, à droite? Merci!
OriginalL'auteur VonC
Entrer dans un conteneur à l'ouverture d'un shell bash:
Je suppose qu'il est préférable de simplement recharger la configuration d'apache et de ne pas redémarrer apache.
Mais je ne voudrais pas aller dans cette voie, juste le modifier Dockerfile et de reconstruire et exécutez à nouveau l'image.
modifier pour le lien: https://docs.docker.com/engine/reference/commandline/exec/
OriginalL'auteur 2Fast2BCn
De mise à jour des configs Apache, vous devez:
Remplacer Apache configs.
un. Si vous avez des config dossier mappé à partir de l'extérieur du conteneur, vous devriez mettre à jour les configs à l'extérieur du conteneur.
b. Si votre serveur apache configs sont stockés à l'intérieur du conteneur, vous aurez besoin d'exécuter quelque chose comme ceci:
docker cp httpd.conf YOUR_CONTAINER_NAME:/chemin/vers/httpd.conf
Ne Gracieux redémarrer Apache:
sudo docker exec -il YOUR_CONTAINER_NAME apachectl graceful
OriginalL'auteur Sergey