#python #docker #dockerfile
#python #docker #dockerfile
Вопрос:
У меня есть два файла dockerfile, test и result. Скрипт python, запущенный в тестовом контейнере, должен создать образ для результата, используя docker sdk. У меня есть оба файла dockerfiles и скрипт python для теста, скопированные в рабочий каталог теста. Однако, когда я получаю сообщение об ошибке в тестовом скрипте, в котором говорится, что такого файла или каталога нет.
Dockerfile теста:
FROM python:3.7.2-slim
WORKDIR /test
COPY . /test
RUN pip install docker
ENV PYTHONPATH="$PYTHONPATH:/test"
CMD ["python", "test.py"]
test.py:
// dockerfile of result is named result
import docker
client = docker.from_env()
image = client.images.build(path="/test", dockerfile='result')
container = client.containers.run(image)
Ответ №1:
Когда вы делаете
COPY . /test
Вы копируете все из папки, которая является docker-compose.yml.
Но когда вы находитесь в test.py вероятно, вы находитесь в другой папке. Итак, вам нужно вернуть уровни папки для доступа / тестирования.
Комментарии:
1. Я не использую Docker Compose
2. Если вы можете попробовать это с помощью docker compose, возможно, это могло бы вам помочь.