我有一个由CoreOS运行etcd docker镜像的docker容器,可在此处找到:https://quay.io/repository/coreos/etcd。我想要做的是复制本地数据目录中保存的所有文件。我尝试使用docker exec -it etcd /bin/sh
连接到容器,但似乎没有shell(/bin/bash
,/bin/sh
),或者至少在$PATH
上找不到它{1}}变量。我怎样才能进入图像或获取本地复制的etcd中的所有数据文件?
答案 0 :(得分:1)
您可以轻松导出图像内容:
docker export <CONTAINER ID> > /some_file.tar
理想情况下,您应该使用卷,以便将所有数据存储在容器外部。然后,您可以像访问任何其他文件一样访问这些文件。
答案 1 :(得分:0)
Docker具有cp命令,用于在容器和主机之间复制文件:
docker cp <id>:/container/source /host/destination
您在源中指定容器ID或名称,您可以将命令轮翻转以从主机复制到容器中:
docker cp /host/source <id>:/container/destination