【问题标题】:Docker: forward container run environment, such as files, std IO, to local filesystem?Docker:将容器运行环境,例如文件,std IO,转发到本地文件系统?
【发布时间】:2026-01-02 02:25:01
【问题描述】:
您在 docker run 中会得到一些结果,例如文件、stdout 或 stderr。您希望将它们转发到本地文件系统或其他文件系统,例如云文件系统。
步骤。
你按照here的指示构建了一个docker容器,比如wget。
-
你运行它:docker run my-ubuntu wget http://google.com
2018-07-17 15:57:35 (57.9 MB/s) - 'index.html' saved [11657]
如何在我的本地文件系统中访问 index.html?如何将容器中的 stdout 或 stderr 转发到我自己的 shell?
【问题讨论】:
标签:
docker
io
filesystems
stdout
stdin
【解决方案1】:
例如,您可以将 WORKDIR 指令添加到您的 Dockerfile 中
FROM ubuntu:14.04
RUN apt-get update \
&& apt-get install -y wget \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /tmp
然后使用音量开关运行您的映像,将主机位置安装到容器WORKDIR。例如:
docker run -v /home/me:/tmp my-ubuntu wget http://google.com
然后index.html 将被下载到容器内的 /tmp 并在本地文件系统的 /home/me/index.html 中可用。