www.pyコンテナを作成・実行
ここだけはコンテナを自作します
コンテナの作成
04_docker/04-03_web.py/ ディレクトリに移動して build.sh スクリプトを実行してください
cd 04_docker/04-03_web.py/docker
sh build.sh
コンテナを実行する
docker run -it --rm debian-www.py
すると、コンテナのターミナルが開きます。
動作確認
コンテナのターミナル(コンテナ内)で 127.0.0.1 8080/tcp にアクセスしてみてください
curl http://127.0.0.1:8080/
www.pyからのログ127.0.0.1 - - [26/Nov/2021 12:34:25] "GET / HTTP/1.1" 200 -
と、
www.pyからの返事<p>
とWelcome to our server exercise program !
が表示されればOKです
127.0.0.1 - - [26/Nov/2021 12:34:25] "GET / HTTP/1.1" 200 -
<p>
Welcome to our server exercise program !
コンテナの終了
コンテナの中で
exit
すればコンテナは終了します
www.py を改造するには?
コンテナには
04_docker/04-03_web.py/docker/files/
以下を、まるごとコピーしているので、
このディレクトリ以下の変更は、すべてコンテナに反映されます。
スクリプト本体 www.py の変更は
04_docker/04-03_web.py/docker/files/var/www/libexec/www.py
ファイルを編集し、再度 build.sh を実行してコンテナを再作成し、 再度コンテナを実行(コンテナを生成してスタート)してください
www.py の hack には、 こちらのソースコード解説を参考にしてください
そして、docker コンテナでは、 コンテナ起動時の最後に entrypoint.sh というスクリプトを実行するという作法があります。 そのファイルが
04_docker/04-03_web.py/docker/files/entrypoint.sh
です。
docker コンテナでは普通 systemd を使いません。 systemd 経由ではなく、 このスクリプトで
# start www.py 8080/tcp
/var/www/libexec/www.py &
を実行し www.py プロセスを起動しています