docker cp
命令# 从主机复制文件到容器
docker cp /path/on/host/file.txt container_name:/path/in/container/
# 从容器复制文件到主机
docker cp container_name:/path/in/container/file.txt /path/on/host/
FROM base_image
COPY /path/on/host/file.txt /path/in/container/
然后构建镜像:
docker build -t my_image .
# 创建数据卷
docker volume create my_volume
# 运行容器并挂载数据卷
docker run -v my_volume:/path/in/container -d my_image
# 通过临时容器向数据卷添加文件
docker run --rm -v my_volume:/target busybox cp /path/on/host/file.txt /target/
# 直接挂载主机目录到容器
docker run -v /path/on/host:/path/in/container -d my_image
使用docker exec
验证文件是否成功上传:
docker exec container_name ls /path/in/container/
对于大量文件传输,考虑使用tar管道:
tar -c /path/on/host | docker exec -i container_name tar -x -C /path/in/container
对于Windows系统,确保使用正确的路径格式:
docker cp C:\path\on\host\file.txt container_name:/path/in/container/
选择哪种方法取决于您的具体需求:临时文件传输使用docker cp
,持久化存储使用数据卷,开发环境常用绑定挂载。