我正在编写一个 Docker 文件,我的要求是将容器内文件夹的内容复制到本地主机。我怎样才能做到这一点?
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;"]
Run Code Online (Sandbox Code Playgroud)
在构建过程中将文件从容器复制到主机可能是一个坏主意。您应该认真考虑您的用例。
但是,这是可以做到的,我将与您分享一个过程,因为这是我展示我的 Docker 知识的机会 - 不是因为我认为您应该这样做。还有其他方法可以做到这一点。我的方法没有好坏之分——它们都是拼凑而成。
-H tcp://0.0.0.0:2376。这是一个非常危险的过程,因为它会让您被网络上的任何人获取 root 权限。有多种方法可以通过身份验证来减轻这种风险,但实际上最好的方法是不要这样做。ARG DOCKER_HOST在 RUN 块之前添加一个。docker container run --mount type=bind,source=/,destination=/srv/host alpine:3.4 ...在步骤 2.2.3 中,您已经获得了主机的 root 权限,并且您可以执行任何您想要的操作 - 包括写入任何文件。
这是一个愚蠢的想法,但它表明,由于您可以在构建中运行 docker,因此实际上没有什么是您不能在构建中执行的。如果您想从构建内部运行 GUI 应用程序,您可以这样做。
| 归档时间: |
|
| 查看次数: |
10788 次 |
| 最近记录: |