有几种方法可以将文件放入正在运行的Docker容器中:
docker cp
命令# 将本地文件复制到容器中
docker cp /path/to/local/file container_name:/path/in/container
# 示例:将本地test.txt复制到容器的/tmp目录
docker cp test.txt my_container:/tmp/
FROM base_image
COPY local_file /container/path/
# 或使用ADD指令(会自动解压压缩文件)
ADD local_file /container/path/
然后构建镜像:
docker build -t my_image .
# 将主机目录挂载到容器
docker run -v /host/path:/container/path image_name
# 示例:将当前目录挂载到容器的/app目录
docker run -v $(pwd):/app my_image
# 类似于数据卷,但可以指定单个文件
docker run --mount type=bind,source=/host/path/file,target=/container/path/file image_name
docker cp
是临时解决方案,容器重启后这些更改不会保留选择哪种方法取决于您的具体需求:
- 临时调试:docker cp
- 构建可重复的镜像:Dockerfile
- 开发环境共享文件:数据卷/绑定挂载