Server Build Exercises on AWS (Amazon Web Services) 2022 edition

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 プロセスを起動しています

Last updated on 5 Dec 2021
Published on 5 Dec 2021
Copyright (C) 2021-2022 Ken'ichi Fukamachi, All rights reserved. CC BY-NC-SA 4.0
We appreciate AWS Academy Japan for the offer of the learning environment.

Powered by Hugo. Theme by TechDoc. Designed by Thingsym.