docker - 如何将文件添加到现有的 docker 镜像?
问题描述
我有一个基于 Windows 的 docker 容器,运行它并在其中运行一个应用程序。但有时我需要向图像添加一个文件夹并运行另一个应用程序。如何递归添加
\folder
folder\*.*
\subfolder1
subfolder1\*.*
\subfolder2
subfolder2\*.*
从我的主机到我的图像?
解决方案
您可以使用docker cp:
docker cp 实用程序将 SRC_PATH 的内容复制到 DEST_PATH。您可以从容器的文件系统复制到本地机器,或者反过来,从本地文件系统复制到容器。
docker cp /path/to/dir mycontainer:/path/in/container/
cp 命令的行为类似于 Unix cp -a 命令,在目录中递归复制并尽可能保留权限。
此外,如文档中所述,如果这不可行,您可以使用一些带有 tar 的 hack,如下所示。
tar Ccf $(dirname SRC_PATH) - $(basename SRC_PATH) | docker exec -i CONTAINER tar Cxf DEST_PATH -
推荐阅读
- javascript - IE array.flat() 对象不支持属性或方法'flat'
- android - 无法解决:com.google.firebase:firebase-core:16.0.5
- c - 从进程内部查找映射内存
- php - PHP正则表达式按照特定模式拆分内容
- android - 模仿低端设备
- python - 处理错误“TypeError: Expected tuple, got str” 将 CSV 加载到 pandas 多级和多索引(pandas)
- python - Jupyter 笔记本 - 如何在脚本之间移动 utf-8 字符?
- python - Postgres psycopg2 创建用户
- java - MongoDB retryWrites=true 不适用于 3.6+ 版本
- flutter - 水平列表视图动画