我正在编写一个Docker File,我的要求是将容器内文件夹的内容复制到本地主机。我怎样才能做到这一点?
FROM ubuntu
RUN apt-get update && apt-get install -y apache2 && apt-get install nginx -y
#COPY resources /var/www/html/
#VOLUME /var/www/html:/var/www/html
COPY /var/www/html/ /var/www/html/
CMD ["nginx", "-g", "daemon off;"]
最佳答案
在构建过程中将文件从容器复制到主机可能是一个坏主意。您应该认真考虑您的用例。
但是,可以这样做,我将与您分享一个过程,因为这对我来说是展示我的Docker知识的机会-并不是因为我认为您应该这样做。还有其他方法可以做到这一点。我的方法没有好坏之分-它们全都是弊端。
-H tcp://0.0.0.0:2376
。这是一个非常危险的过程,因为它打开后会被网络上的任何人 Root 。有很多方法可以通过身份验证来减轻这种风险,但实际上最好的方法是只是不要这样做。 ARG DOCKER_HOST
。 docker container run --mount type=bind,source=/,destination=/srv/host alpine:3.4 ...
在步骤2.2.3中,您已经根主机计算机,并且可以执行所需的任何操作-包括写入任何文件。
这是一个愚蠢的主意,但是它表明,由于您可以在内部版本中运行docker,因此确实没有什么您不能在内部版本中执行。如果要从内部版本运行gui应用程序,则可以执行此操作。
关于docker - 使用Dockerfile将文件从Container复制到主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50833148/