Я пытаюсь создать контейнер-обертку для сборки и запуска набора контейнеров с использованием docker-compose, который я не могу изменить. Docker-compose монтирует несколько томов, но при запуске docker-compose изнутри докера оболочки, тома все еще монтируются с хоста, так как docker .sock монтируется как docker.sock хоста.
Я бы не хотел использовать полный docker-in-docker из-за всех проблем, связанных с ним, описанных в статье jpetazzo .
Я также хотел бы избежать volume-from
, поскольку я не могу редактировать упомянутый ранее файл docker-compose.
Есть ли способ заставить этот фрагмент правильно использовать файл родительского докера вместо того, чтобы идти к файловой системе хоста и монтировать его оттуда?
FROM docker:latest
RUN mkdir -p /tmp/parent/ && echo "This is from the parent docker" > /tmp/parent/parent.txt
CMD docker run -v /tmp/parent/parent.txt:/root/parent.txt --rm ubuntu:18.04 bash -c "cat /root/parent.txt"
при запуске с командой, подобной этой:
docker build -t parent . && docker run --rm -v /var/run/docker.sock:/var/run/docker.sock parent