ドッカーは初めてです。 Docker環境では、Apacheがインストールされ、稼働しています。
今、コンテナに入る必要があるので、httpd.conf
、保存して、Apacheを再起動する必要があります。
みなさん、何をする必要があるのか教えてください。 「exec」コマンドと「attach」コマンドについてはかなり混乱しています。
接続または実行する必要はありません(これはとにかくデバッグ機能です)
docker cp
ローカルバージョンのコピーhttpd.conf
コンテナに。 (そのようにして、ローカル環境の快適さからファイルを変更できます)
docker cp httpd.conf <yourcontainer_name>:/path/to/httpd.conf
それが完了したら、USR1シグナルを送信してグレースフルリスタートを要求できます( docker kill
構文):
docker kill --signal="USR1" <yourcontainer_name>
置換<yourcontainer_name>
は、Apacheを実行しているコンテナIDまたは名前です。
コンテナによって起動されたメインプロセスが
CMD ["apachectl", "-DFOREGROUND"]
Bashシェルを開いてコンテナに入ります:
docker exec -it containerName bash
Apacheを再起動するのではなく、Apacheの設定をリロードする方が良いと思います。ただし、この方法ではなく、Dockerfileを変更し、イメージを再構築して再実行します。
リンクの編集: https://docs.docker.com/engine/reference/commandline/exec/
Apacheの設定を更新するには、次を行う必要があります。
Apacheの構成を置き換えます。
a。コンテナーの外部から構成フォルダーがマップされている場合は、コンテナーの外部で構成を更新する必要があります。 b。 Apacheの設定がコンテナ内に保存されている場合、次のようなものを実行する必要があります。
docker cp httpd.conf YOUR_CONTAINER_NAME:/path/to/httpd.conf
Apacheのグレースフルリスタート:
Sudo docker exec -it YOUR_CONTAINER_NAME apachectl graceful