Docker の エラーと additonal_contexts について
こんにちは、 @kz_morita です。
普段 Docker を用いて開発環境を構築していますが、以下のようなエラーが発生しました。
{services名} Additional property additional_contexts is not allowed 今回はこのエラーの解消方法についてまとめていきます。
エラーの解消 今回は以下のような docker-compose.yml ファイルでエラーが発生しました。
あくまで一例です。
version:'3'x-hoge:&hogeadditional_contexts:- hoge=/path/to/hoge/services:python:build:context:.<<:*hogevolumes:- .:/app:sample_appports:- "8080:8080"- "8888:8888"environment:<<:*environmentエラー内容をみると、addtional_contexts というプロパティが存在しないために発生していました。
(再掲)
{services名} Additional property additional_contexts is not allowed 公式サイトをみると、additonal_contexts は Docker の 2.17.0 に追加された機能で、それ以前のバージョンを使っている人がエラーになっていることがわかったのでアップデートをしてもらって解決しました。
Compose Build Specification | Docker Docs additional_contexts とは additional_contexts プロパティを使用すると、Docker Image をビルドする際に名前付きのコンテキスト情報を定義することができます。
今回は Dockerfile 側が以下のようになっていました。
FROM python:3.9-slim WORKDIR /app COPY --from=hoge hogefile.txt /hoge/ COPY requirements.txt . RUN pip install -r requirements.