概要

プログラミングの第一歩である「Hello, World!」の実行手順を、Docker Composeを活用して解説する技術レポートです。単純なPythonスクリプト(app.py)を用意し、それがDockerコンテナ内でどのように実行されるのかをステップバイステップで説明します。
docker compose upコマンド一つで環境構築からプログラム実行までが完結する流れを、図を多用して視覚的に示し、コンテナ技術の基礎的なワークフローの理解を促します。
-
ゼロから始めるPython学習 STEP20目次
プログラミング未経験者向けPython入門講座。環境構築から変数、if文、for文、関数といった基本までを20のステップでわかりやすく解説します。自分のペースで一歩ずつ着実に学び、プログラミングの第一歩を踏み出しましょう!
続きを見る
目次
はじめに
app.py
、Dockerfile
、docker-compose.yml
の3つのファイルが同じフォルダに準備できている状態からスタートします。
my_project/ ├── app.py ├── Dockerfile └── docker-compose.yml
Dockerを使ってこのプログラムを動かすには、まず主役となるPythonプログラムapp.py
が何をしているのかを理解することが重要です。
1. 主役のPythonプログラム (app.py
) の中身
app.py
ファイルには、今回実行したいPythonコードそのものが書かれています。このファイルが、Dockerによって作られた環境の中で最終的に動く「主役」です。
中身は、おなじみのこの一行です。
app.py
Python
print("Hello, World! from Docker Compose!")
print()
: これはPythonに組み込まれている**関数(命令)**の一つです。括弧()
の中にあるものを、画面(専門的には「標準出力」)に表示する役割を持っています。"..."
: ダブルクォーテーションで囲まれたHello, World! from Docker Compose!
の部分は、コンピューターに「これは表示したい**文字列(テキスト)**ですよ」と教えています。
つまり、このコードは「print
という命令を使って、"Hello, World! from Docker Compose!"
という文字列を画面に表示してください」という意味になります。Dockerは、この単純な指示が書かれたファイルを実行するために、環境を整えてくれるのです。
2. 実行コマンド
プログラムの中身がわかったところで、いよいよ実行です。ターミナル(WindowsならコマンドプロンプトやPowerShell、Macならターミナル.app)を開き、3つのファイルが保存されているフォルダに cd
コマンドで移動してください。
そして、以下のコマンドを入力してEnterキーを押します。
Bash
docker compose up
このコマンドが、docker-compose.yml
という「指示書」に従って、全ての処理を自動で実行してくれます。
3. コマンド実行後の内部的な流れ
docker compose up
を実行すると、Dockerの内部では以下のような処理が順番に行われます。
graph TD subgraph "”あなたのPC”" A(1 . docker compose up を実行) --> B{docker-compose.ymlを読み込む}; end subgraph "”Dockerの内部処理”" B -- "build指示を発見" --> C{2 . Dockerfileを基に<br>環境(イメージ)を構築}; C -- "COPY app.py指示" --> D(Pythonコードを<br>環境内にコピー); D -- "イメージ完成" --> E{3 . 完成したイメージから<br>コンテナを起動}; E -- "CMD指示を実行" --> F(4 . コンテナ内で<br>`python app.py` を実行); end subgraph "”結果の表示”" F --> G(5 . 実行結果が<br>PCのターミナルに表示✨); end style G fill:#90EE90,stroke:#333,stroke-width:2px
- 指示書の読み込み: Docker Composeが
docker-compose.yml
を読み込みます。 - 環境の構築(Build):
build:
の指示に基づき、Dockerfile
の設計図通りにPythonの実行環境(Dockerイメージ)を構築します。この過程で**app.py
がイメージの中にコピーされます**。 - コンテナの起動(Up): 構築したイメージから、隔離された実行環境である「コンテナ」を起動します。
- プログラムの実行: コンテナが起動すると、
Dockerfile
のCMD
命令により、先ほど確認したapp.py
がpython
コマンドで実行されます。 - 結果の表示:
app.py
が実行された結果が、あなたのPCのターミナルに送り返されて表示されます。
4. ターミナルでの表示内容の確認
コマンドを実行すると、Dockerがイメージを構築するログなどが流れていきます。最終的に、以下のような行が出力されるはずです。
... (ビルドログなど) ... my_project-app-1 | Hello, World! from Docker Compose! ... (コンテナは起動したまま) ...
my_project-app-1 |
: これは「どのコンテナからの出力か」を示しています。Hello, World! from Docker Compose!
: これがapp.py
内のprint()
関数によって出力された、プログラムの実行結果です。
このメッセージが表示されれば成功です。
5. プログラムの停止方法
docker compose up
で起動したコンテナは動き続けるため、停止するにはターミナルで Ctrl + C
を押してください。コンテナが停止し、元のコマンド入力状態に戻ります。
-
ゼロから始めるPython学習 STEP20目次
プログラミング未経験者向けPython入門講座。環境構築から変数、if文、for文、関数といった基本までを20のステップでわかりやすく解説します。自分のペースで一歩ずつ着実に学び、プログラミングの第一歩を踏み出しましょう!
続きを見る