我正在尝试为我们使用的 Docker 容器构建备份和恢复解决方案。
我有我创建的 Docker 基础映像 ubuntu:base
,并且不想每次都使用 Docker 文件重新构建它来添加文件。
我想创建一个从主机运行的脚本,并使用 ubuntu:base
Docker 映像创建一个新容器,然后将文件复制到该容器中。
如何将文件从主机复制到容器?
原文由 user3001829 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在尝试为我们使用的 Docker 容器构建备份和恢复解决方案。
我有我创建的 Docker 基础映像 ubuntu:base
,并且不想每次都使用 Docker 文件重新构建它来添加文件。
我想创建一个从主机运行的脚本,并使用 ubuntu:base
Docker 映像创建一个新容器,然后将文件复制到该容器中。
如何将文件从主机复制到容器?
原文由 user3001829 发布,翻译遵循 CC BY-SA 4.0 许可协议
$ docker ps
$ docker inspect -f '{{.Id}}' SHORT_CONTAINER_ID-or-CONTAINER_NAME
$ sudo cp path-file-host /var/lib/docker/aufs/mnt/FULL_CONTAINER_ID/PATH-NEW-FILE
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d8e703d7e303 solidleon/ssh:latest /usr/sbin/sshd -D cranky_pare
$ docker inspect -f '{{.Id}}' cranky_pare
或者
$ docker inspect -f '{{.Id}}' d8e703d7e303
d8e703d7e3039a6df6d01bd7fb58d1882e592a85059eb16c4b83cf91847f88e5
$ sudo cp file.txt /var/lib/docker/aufs/mnt/**d8e703d7e3039a6df6d01bd7fb58d1882e592a85059eb16c4b83cf91847f88e5**/root/file.txt
原文由 solidleon 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答2.4k 阅读✓ 已解决
2 回答788 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答1.4k 阅读
1 回答1.6k 阅读
2 回答1.2k 阅读
1 回答947 阅读
cp
命令可用于复制文件。可以将一个特定文件复制到容器中,例如:
可以从容器中复制一个特定文件,例如:
为了强调,
container_id
是 容器 ID, 而不是 图像 ID。 (使用docker ps
查看列表,其中包括container_id
s。)文件夹
src
包含的多个文件可以使用以下命令复制到target
文件夹中:参考:
cp
在 1.8 之前的 Docker 版本中,只能将文件从容器复制到主机。不是从主机到容器。