次のエラーがなかなか解消できず、困ったのでメモ書きすることにしました。
やりたいことは、ローカルにある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.conf
をdocker
ディレクトリ以外に配置すれば問題解決です。
# ディレクトリ修正
.
├── docker
│ ├── nginx
│ ├── Dockerfile
│
├── docker-compose.yml
└── default.conf
# Dockerfile修正
FROM nginx:1.25.3-alpine-slim
COPY ./default.conf /etc/nginx/conf.d:ro