VSCode devcontainerでDockerfileをbuildして使うようにしてみました
Python環境を用意しようとしていて
├── README.md
├── app.py
├── poetry.lock
├── pyproject.toml
└── .devcontainer
├── Dockerfile
├── compose.yaml
└── devcontainer.json
としていました
compose.yaml
services:
app:
build:
context: .
target: final
Dockerfile
FROM python:3.12.2
RUN pip install --upgrade pip && pip install poetry
Docker containerにpoetryを入れて、コンテナを立ち上げたら poetry install
も終わるようにしたかったのでDockerfileに
COPY poetry.lock pyproject.toml /app/
RUN poetry install
を追記すると、poetry.lock
が見つからずエラーになります
これは docker build
するときに、カレントディレクトリが .devcontainer
になっているからです
コンテナ立ち上げ時に一つ上を見ることはできなさそうです
なのでbuild時に入れるのでなく、build後にコンテナを立ち上げるときに入れるようにいれます
.devcontainer.json
に
{
// ---
"updateContentCommand": "poetry install",
// ---
}
を追記します
これでカレントディレクトリの poetry.lock
を見てPythonモジュールがインストールされます
PR
このリンクは、アフィリエイトリンクです