我正试图创建一个包装容器来使用docker compose构建和运行一组无法修改的容器。Docker compose挂载多个卷,但是当从包装Docker内部启动Docker compose时,卷仍然从主机挂载,因为Docker.sock是卷挂载为主机的docker.sock。
我不想在Docker中使用完全Docker,因为在Docker中列出了与之相关的所有问题
jpetazzo's article
。
我也想避免
volume-from
因为我不能编辑前面提到的docker compose文件。
有没有办法让这个片段正确使用父Docker的文件,而不是转到主机文件系统并从那里装载它?
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