Нет. Тома предназначены для хранения данных , а не кода; вы должны COPY
ваш код в образ и удалить строку volumes:
.
Обычный минимальный Python Dockerfile может выглядеть так:
FROM python:3.8
WORKDIR /my-app
COPY . ./
RUN pip3 install -r requirements.txt
CMD ["./my-app.py"]
Поскольку COPY
присутствует строка, изображение содержит все необходимое для запуска, включая собственный код и команду по умолчанию. Это означает, что он доступен во время сборки, и это означает, что вы можете удалить блок volumes:
из своего файла docker-compose.yml
.
Многие из вещей, которые вы можете указать в docker-compose.yml
, просто не отображаются или доступен во время сборки. Сюда входят параметры томов, сетей и переменных среды; ваша сборка не может подключаться к другим контейнерам.