Dockerイメージのデプロイ
Dockerコンテナをホスト
既にビルドし配布しているコンテナイメージを実行。Polyerがサービスのデプロイを管理し、あなたはイメージのバージョン、実行設定、データ要件を定義します。
設定チェックリスト
- イメージとバージョン:実行するレジストリパス、タグまたはダイジェストを確認します。バージョン変更前に上流の更新情報を読んでください。
- レジストリ認証情報:プライベートイメージの認証情報を設定し、対象レジストリにアクセスできるか確認します。
- コンテナのネットワーク:待ち受けポートを設定します。外部からのアクセスが必要なサービスだけに公開接続先を設定してください。
- ヘルスチェックと起動:チェックパス、タイムアウト、トラフィック受信前に必要なアプリ初期化を確認します。
- 永続データ:必要なデータディレクトリをボリュームに割り当て、別途バックアップすべきデータを確認します。
設定からデプロイまで
イメージを選択
ワークスペースを開き、プロジェクトと環境を選び、対象のDockerイメージ参照を入力します。
イメージへのアクセスを設定
プライベートイメージの場合はレジストリ認証情報を選択または設定します。イメージのバージョンとアプリの実行要件を確認してください。
実行設定を確認
変数、ポート、リソース設定、ヘルスチェック、ボリュームを設定します。外部アクセスが不要なデータベースはプライベート接続にしてください。
デプロイして検証
設定を送信し、デプロイログと実行ログを確認して接続先をテストします。サービスの再起動後もデータが利用できるか確認してください。
サービスを運用する
- イメージの更新は計画的に確認します。別バージョンをデプロイする前にリリース情報、マイグレーション、永続化の動作を確認してください。
- ヘルスチェックが確認するのは設定された接続先です。アプリの重要なワークフローと依存サービスへの接続は別にテストしてください。
- レジストリ認証情報を有効に保ち、永続データの復旧計画を維持します。マウントしたボリュームは検証済みバックアップの代わりにはなりません。
デプロイ前のよくある質問
特権コンテナやホスト上のファイルを使えますか?
サービスにはホストへのアクセス権限がありません。特権モード、ホストのデバイス、Dockerソケットが必要なアプリでは、この方法を選ぶ前にその要件を解決してください。静的ファイルはイメージに含め、書き込むアプリデータには永続ボリュームを使います。Composeのローカルバインドマウントで既存ファイルがPolyerへ転送されることはありません。
イメージを取得できない場合は何を確認しますか?
アプリ設定を変える前にデプロイエラーを確認します。レジストリのホスト名、リポジトリ名、タグやダイジェストが存在するか、選択した認証情報で取得できるかを確認してください。イメージの取得はアプリ起動前に行われるため、HTTPポートやヘルスチェックのパスを変えても認証エラーやイメージ不在は解決しません。
DockerイメージとGitHubソース、どちらを使うべきですか?
既に他の場所でビルドする場合や、アプリがコンテナとして配布される場合はイメージを使います。Polyerでリポジトリの設定からビルドしたい場合はGitHubデプロイを選んでください。
コンテナ内のファイルは再デプロイ後も残りますか?
アプリの永続データにはコンテナの書き込み可能ファイルシステムに頼らないでください。必要なデータパスに永続ボリュームを設定し、アプリの保存動作を確認してください。
起動中のコンテナにアクセスできないのはなぜですか?
アプリのバインドアドレス、待ち受けポート、接続先設定、ヘルスチェックログを確認します。必須変数と依存サービスへの接続も確認してください。
ワークスペースで設定
ログインするとワークスペースが開きます。リソースはデプロイ設定を送信した後にのみ作成されます。