在 Docker 中,"下载文件"可以指几种不同的情况: 1. 从容器内部下载文件到宿主机 2. 从互联网下载文件到容器内部 3. 下载 Docker 镜像本身
docker cp
命令docker cp <容器名或ID>:<容器内路径> <宿主机目标路径>
示例:
docker cp mycontainer:/app/data.txt /home/user/downloads/
在运行容器时预先挂载目录:
docker run -v /宿主机路径:/容器内路径 image_name
这样容器内对应路径下的文件会自动同步到宿主机。
ADD https://example.com/file.zip /tmp/
RUN unzip /tmp/file.zip -d /app/
docker exec -it mycontainer bash
# 在容器内执行
curl -O https://example.com/file.zip
FROM alpine as downloader
RUN apk add --no-cache curl && \
curl -o /file.zip https://example.com/file.zip
FROM main-image
COPY --from=downloader /file.zip /app/
docker pull image_name:tag
下载的镜像存储在 Docker 的存储目录中,位置取决于系统:
/var/lib/docker
C:\ProgramData\Docker
~/Library/Containers/com.docker.docker/Data/vms/0/
文件类型 | 默认位置 |
---|---|
镜像文件 | /var/lib/docker/image (Linux) |
容器数据 | /var/lib/docker/containers (Linux) |
卷数据 | /var/lib/docker/volumes (Linux) |
构建缓存 | /var/lib/docker/buildkit (Linux) |
查看容器文件系统:
docker export <container> > container.tar
查找大文件:
docker system df # 查看磁盘使用情况
清理无用文件:
docker system prune
修改默认存储位置:
在 /etc/docker/daemon.json
中添加:
{
"data-root": "/new/path/to/docker"
}
希望这些信息能帮助您更好地管理 Docker 中的文件下载和存储!