插件窝 干货文章 docker里的文件怎么拷贝出来

docker里的文件怎么拷贝出来

容器 Docker 文件 宿主机 394    来源:    2025-04-06

从Docker容器中拷贝文件到本地的方法

有几种方法可以将Docker容器中的文件拷贝到宿主机(本地系统):

1. 使用docker cp命令

这是最直接的方法:

docker cp <容器名或ID>:<容器内文件路径> <宿主机目标路径>

示例:

# 将容器内/app/config.conf文件拷贝到当前目录
docker cp mycontainer:/app/config.conf .

# 将容器内/logs目录拷贝到宿主机的/tmp目录
docker cp mycontainer:/logs /tmp

2. 使用卷挂载(Volume)

如果事先挂载了卷,文件会自动同步:

# 启动容器时挂载卷
docker run -v /宿主机路径:/容器内路径 ...

# 示例
docker run -v $(pwd)/data:/data myimage

3. 使用临时容器

对于已停止的容器,可以创建临时容器来拷贝文件:

docker create --name temp_container myimage
docker cp temp_container:/path/to/file /host/path
docker rm temp_container

4. 通过容器提交为镜像再导出

# 提交容器为新镜像
docker commit container_id new_image_name

# 导出镜像为tar文件
docker save new_image_name > image.tar

# 解压tar文件获取内容
tar -xvf image.tar

注意事项

  1. 确保你有足够的权限执行这些操作
  2. 对于正在运行的容器,某些文件可能被锁定无法拷贝
  3. 对于大量文件,卷挂载通常比docker cp更高效
  4. 在Windows系统中,路径需要使用双反斜杠或正斜杠

需要更具体的帮助吗?例如针对某个特定场景的操作?