Crescendo Lab ドキュメント
日本語
無料で始める

コンテナ実行契約

コンテナアプリのイメージが従うルールです。プラットフォームで調整できる点は自動で調整し、バージョンのページにお知らせを残します。

最終更新

ルール#

項目要件満たさない場合
起動コマンドCMD または ENTRYPOINT が必要です。バージョンは受け付けられません。
ポート$PORT で HTTP を提供します。設定 → EXPOSE → 8080 の順に決まります。アプリの設定をご覧ください。
プラットフォームlinux/amd64。他のプラットフォームのイメージはプッシュ時に拒否されます。
ユーザーroot 以外の USER を推奨します。root または未指定の場合は uid 10001、グループ 0 で実行します。イメージにないユーザーを指定したバージョンは受け付けられません。
ファイルシステム/tmp 以外は読み取り専用です。他の場所への書き込みは失敗します。
クラウドの認証情報提供されません。外部サービスにはアプリのシークレットを使って接続します。

uid 10001 で実行される場合、イメージが読むファイルはグループ 0 から読める必要があります。

お知らせ#

プラットフォームが調整した内容は、バージョンのページとイメージの「チェック」タブにお知らせとして表示されます。AI ツールはデプロイの状態から同じコードを読み取れます。

コード意味対応
imageUserForcedイメージが root で実行されるため、uid 10001 で実行します。不要です。お知らせを消すには、Dockerfile で root 以外の USER を設定します。
imagePortFromExposeアプリはイメージが EXPOSE している 1 つのポートで待ち受けます。不要です。
imagePortsAmbiguousイメージが複数のポートを EXPOSE していて 8080 がないため 8080 で実行しますが、サーバーの待ち受けポートではない可能性が高いです。「設定 › 実行設定 › ポート」で正しいポートを選んでサービスを再起動するか、Dockerfile でそのポートだけを EXPOSE します。

起動時にファイルを書き込むイメージ#

起動時に /tmp 以外へ書き込むイメージがあります。たとえば nginx:alpine は /var/cache/nginx に書き込むため、読み取り専用のファイルシステムでは起動に失敗します。書き込みが不要なイメージを使うか、書き込み先を /tmp に変えてください。

Dockerfile
FROM nginxinc/nginx-unprivileged:alpine
COPY dist/ /usr/share/nginx/html/

静的ファイルを配信するだけなら

静的サイトとしてデプロイしてください。nginx を自分で動かす必要はありません。