コンテナをローカルで実行・テストする
自分のマシンでビルドと実行を行い、エンドポイントにアクセスします。
「コンテナをローカルで実行・テストする」はCoddyKit上の無料MLOps Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはMLOps Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 MLOps Academyコースには全4レッスンが含まれています。
まずローカルで実行する
デプロイする前に、自分のマシンでコンテナを実行してください。ローカルでバグを見つけるほうが、クラウド上でデバッグするよりはるかに低コストです。
コンテナを起動する
docker runでイメージを起動します。ポートマッピングがなくても実行されますが、ホスト上からコンテナ内のAPIにアクセスできません。
docker run model-apiポートをマッピングする
-pフラグは、ホストのポートをコンテナのポートに割り当てます。これでlocalhost:8000から、内部で動作しているモデルAPIにアクセスできます。
docker run -p 8000:8000 model-apiバックグラウンドで実行する
-dを追加すると、ターミナルを切り離してバックグラウンドで実行できます。サービスが動作し続ける間も、ターミナルを自由に使えます。
docker run -d -p 8000:8000 model-api実行中のコンテナを一覧表示する
docker psで稼働状況を確認できます。各コンテナのID、イメージ、状態、マッピングされたポートが表示されます。
docker psヘルスチェックを実行する
/healthエンドポイントを呼び出して、サービスが稼働していることを確認します。200のレスポンスは、予測を受け付ける準備ができていることを示します。
curl http://localhost:8000/health予測を送信する
サンプルのペイロードを/predictにPOSTして、結果を読み取ります。これにより、モデルの読み込みから応答までが正常に動作することを確認できます。
curl -X POST http://localhost:8000/predict -d '{"x": [1, 2, 3]}'ログを読む
何かがおかしいときは、docker logsを確認してください。コンテナは起動時のエラーやスタックトレースを、そのままログストリームに出力します。
docker logs <container_id>内部でシェルを使う
docker execを使うと、実行中のコンテナ内でシェルを開き、内部からファイルや環境を調べられます。
docker exec -it <container_id> /bin/bash停止して後片付けする
docker stopでコンテナを停止して終了します。実行時に--rmを追加すると、終了時に自動的に削除されます。
docker stop <container_id>プッシュ前にテストする
ここで問題なく実行され、正しく応答するなら、クラウドでも同じように動作します。ローカルテストは、最後の安全な確認工程です。
確認問題
ホストからAPIにアクセスする方法を確認しましょう。
まとめ
イメージを実行し、ポートをマッピングし、ヘルスチェックを行い、予測を送信し、ログを確認して後片付けしました。コンテナはデプロイ可能な状態です。🐳
よくある質問
「コンテナをローカルで実行・テストする」レッスンは無料ですか?
はい。「コンテナをローカルで実行・テストする」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、MLOps Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 MLOps Academyコースには全4レッスンが含まれています。
「コンテナをローカルで実行・テストする」で何を学びますか?
自分のマシンでビルドと実行を行い、エンドポイントにアクセスします。 ブラウザで直接実行するハンズオンコードでMLOps Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
MLOps Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのMLOps Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「コンテナをローカルで実行・テストする」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このMLOps Academyレッスンでコードを書いて実行できますか?
はい。すべてのMLOps Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- モデルAPI用のDockerfileを書く
- マルチステージビルドでイメージを軽量化する
- 環境変数で設定を渡す
- コンテナをローカルで実行・テストする