実行環境のカスタマイズ
Morph ではプロジェクト内のDockerfile
を編集することで、Morph Cloud 上での実行環境のカスタマイズを実施することができます。
Dockerfile の基本構成
morph new
コマンドで初期生成される Dockerfile は以下のような構成になっています。
MORPH_TASK_ROOT
の予約語は、pip install
を正常に動作させるために必要な環境変数です。特別な理由がない限りは変更しないでください。
パッケージの追加
Morph Cloud のベースイメージでは yum もしくは microdnf を用いてパッケージを管理します。必要なパッケージを RUN コマンドで追加することができます。
- ベースイメージは Amazon Linux をベースに作成されています。Python3.11 およびそれ以前のイメージはパッケージマネージャーとして
yum
コマンドを利用できます。Python3.12 以降のイメージは Amazon Linux 2023 に基づくため、パッケージの追加にはmicrodnf
コマンドが利用できます。
例えば、以下のようにDockerfile
にyum
コマンドを追加することで、curl
パッケージをインストールすることができます。
イメージサイズ削減のために、パッケージの追加後にはyum clean all
(新しいイメージではmicrodnf clean all
)
コマンドを実行して不要なパッケージを削除することをお勧めします。
Python3.12 およびそれ以降のイメージでは、 microdnf
コマンドを利用します。
Python バージョンの変更
Morph では、morph new
コマンドを利用してプロジェクトを作成する際、利用する Python のバージョンを 3.9, 3.10, 3.11, 3.12 から選択できます。
ここで選択したバージョンは、デプロイしたアプリケーションの実行環境にも反映されるよう、初期生成ファイルが設定されます。
選択したPythonバージョンは、プロジェクト内の設定ファイル(Dockerfileなど)にも反映されるため、Dockerfileをカスタマイズします。
デプロイ環境の Python バージョンを後から変更する
デプロイした環境で使用する Python のバージョンを後から変更したい場合は、プロジェクト内にある Dockerfile のベースイメージのタグを編集し、再度デプロイを行います。
例: Python3.12 のイメージを使う場合
上記のように python3.9 から python3.10、python3.11、python3.12 など、任意のバージョンに変更可能です。