🐥

Dockerで上位の階層をCOPYしたい時はビルドコンテキストの設定を変更する

2022/06/21に公開

ディレクトリ構成

.
├── Project1
│   ├── docker-compose.yaml
│   └── Dockerfile
└── Project2

失敗例

上記のようなディレクトリ構成の時、Project2をDockerイメージ内にコピーしようとdocker-compose.yamlDockerfileを以下のようにするとビルドに失敗する。

docker-compose.yaml
version: "3.8"

services:
  master:
    build:
      context: .
      dockerfile: Dockerfile
Dockerfile
FROM alpine:3.16

COPY ../Project2/ /Project2

成功例

上位の階層をCOPYしたい場合はcontextを上位のディレクトリに変更する必要がある。

docker-compose.yaml
version: "3.8"

services:
  master:
    build:
      context: ../
      dockerfile: Project1/Dockerfile
Dockerfile
FROM alpine:3.16

COPY Project2/ /Project2
GitHubで編集を提案

Discussion