2023.12.08  

【Docker】COPYコマンドがnot foudになる

Docker    

次のエラーがなかなか解消できず、困ったのでメモ書きすることにしました。
やりたいことは、ローカルにあるdefault.confファイルをコンテナ内の/etc/nginx/conf.d:roに移動することです。

 => ERROR [lnginx 2/2] COPY ./docker/nginx/default.conf /etc/nginx/conf.d:ro                                                            0.0s
------
 > [nginx 2/2] COPY ./docker/nginx/default.conf /etc/nginx/conf.d:ro:
------
failed to solve: rpc error: code = Unknown desc = failed to compute cache key: "/docker/nginx/default.conf" not found: not found
# ディレクトリ
.
├── docker
│   ├── nginx
│      ├── Dockerfile
│      └── default.conf
├── docker-compose.yml
# Dockerfile

FROM nginx:1.25.3-alpine-slim

COPY ./nginx/$ENV/default.conf /etc/nginx/conf.d:ro
# docker-compose.yml

version: '3.8'

services:
  nginx:
    build:
      context: .
      dockerfile: ./docker/nginx/Dockerfile
    container_name: nginx
    ports:
      - "8080:8080"
      - "443:443"

原因と解決策

dockerという名前のディレクトリはDockerfileから無視されてため。
.dockerignoreを設定していた訳でもないため仕様なのだろうか...

なので、コピー対象のdefault.confdockerディレクトリ以外に配置すれば問題解決です。

# ディレクトリ修正
.
├── docker
│   ├── nginx
│      ├── Dockerfile
│   
├── docker-compose.yml
└── default.conf
# Dockerfile修正

FROM nginx:1.25.3-alpine-slim

COPY ./default.conf /etc/nginx/conf.d:ro
コメント
現在コメントはありません。
コメントする
コメント入力

名前 (※ 必須)

メールアドレス (※ 必須 画面には表示されません)

送信