どうもこんにちは。
たまたま一日暇だったので、勉強がてらPythonの実行環境をdockerを使用して構築してみました。
なんの筋道も立てずに「環境構築してみよー」と思って始めてみたのですが、やはりChatGPTさんにお世話になりました。
下準備
下準備として、python環境を構築するためのディレクトリを作成しておきます。
プラスでsample.pyファイルにprint("hello world")
を記述して保存しておくと良いです。
AIとの会話の内容
まず、以下のように雑に教えを乞いました。
Macbookのローカル環境でDockerを使用してPythonの開発環境を構築したい。
自分のPCには、/Users/test_user/code/python_testディレクトリを作成した。
python_testディレクトリを作業用ディレクトリとして開発環境構築をする手順を教えて。
python_testディレクトリには、sample.pyというファイルが配置されていて、`print("hello world")`のコードのみが?記述されている。
コンテナを立ち上げて、ターミナルで`docker-compose exec コンテナ名 python sample.py`のようにファイルを実行> できるように環境構築をしたい。
雑でしかない。。。
自分なりのプロンプトを調査、作成してみようかな。。。
ChatGPTさんの返答はこちら。
なんともまぁご丁寧に。。。
ではその通りにやってみるとしましょう。
実際にやってみたものの。。。
Dockerfile
とdocker-compose.yml
を作成して、docker-compose up --build
を実行したところ、エラーが出てしまいました。
エラー文を抜粋して示します。
=> ERROR [python-service 3/4] COPY requirements.txt . 0.0s
------
> [python-service 3/4] COPY requirements.txt .:
------
failed to solve: failed to compute cache key: failed to calculate checksum of ref bd0a5f83-f4ec-4065-887d-abd5d6fb4091::4n3wivx3ezds2tho9ntk1rbvu: "/requirements.txt": not found
"/requirements.txt": not found。。。つまり、そんなファイルないですよ。と言われてしまっているわけですね。
ならば、とりあえず作業ディレクトリにrequirements.txt
という名前で空のファイルを作ってみましょう。
touch requirements.txt
ということで作成できたので、もう一回docker-compose up --build
実行!
[+] Building 226.5s (9/9) FINISHED
およそ4分かかりましたが、無事構築成功です。
しっかりとhello world
も出力されていますね。
[+] Running 2/1
✔ Network python_test_default Created 0.0s
✔ Container python_test-python-service-1 Created 0.0s
Attaching to python_test-python-service-1
python_test-python-service-1 | hello world
python_test-python-service-1 exited with code 0
まとめ
めちゃめちゃ初歩的なことをしてみましたが、Railsとは違って、サーバーを立てっぱなしにしないアプリケーションにはまだ慣れませんね。。。
これを機にPythonで色々な機能をくっつけられたらいいなぁという希望を持って今回は終わりにします。
以上
ソースコードはこちら