アプリケーションホスティングでは、Dockerfileを使用してコンテナイメージをセットアップすることができます。Dockerfileを使用することで、細かなコントロールが可能になり、同時に、ほぼ全ての言語を使用することができます。この方法を用いれば、Buildpacksがサポートする言語に制限されることはありません。

Dockerfile使用時には、その内部にある記述に応じて環境が構築されます。これには、言語、付属ソフトウェア、ライブラリのインストール、ポートの設定、ウェブサーバーの起動などのコマンドが必要になります。PORT環境変数は、Kinstaにて自動設定されます。これを定義したり、アプリケーションでハードコーディングにより記述したりする必要はありません。サーバーポートを参照するには、コード内でprocess.env.PORTを使用してください。

Dockerfileの作成方法に関する詳しい情報はDocker Docsをご覧ください。

Dockerfileの設定

Dockerfileを使用するには、アプリケーションを追加する際に「Dockerfileを使用してコンテナイメージを設定」を選択します。

Dockerfileのパス」は、リポジトリルートからの相対的なDockerfileへのパスです。例えば、Dockerfileがリポジトリルートにある場合、このフィールドに「Dockerfile」と入力します。Dockerfileがappという名前のサブディレクトリにある場合は、Dockerfileへのパスとして「app/Dockerfile」と入力します。

コンテキスト」は、アプリケーションをビルドするためにアクセスする必要があるリポジトリ内のパスとなります。ほとんどのアプリケーションはリポジトリルートからビルドされるので、「コンテキスト」フィールドにリポジトリルート(.)を入力します。アプリケーションをサブディレクトリ(例:app)からビルドするには、そのサブディレクトリのパスとして「app」を「コンテキスト」フィールドに入力します。

アプリケーション追加の残りのフィールドに情報を入力し「アプリケーションを追加」をクリックします。

Dockerfileを選択しアプリケーションを追加する
Dockerfileを選択しアプリケーションを追加する

Dockerfileの例

Dockerfileの例はこちらです。参考としてご活用ください。


FROM node:carbon

LABEL maintainer="Kinsta devs"

# Set the working directory to /app
WORKDIR /app

# Copy the current directory contents into the container at /app
COPY . /app

# Install any needed packages specified in package.json
RUN npm install

# Run app when the container launches
CMD ["npm", "start"]