英文:
How to get all file and folders of a docker container?
问题
我有一个正在运行的 Docker 容器的服务器。我可以通过运行 docker container ls
命令看到它:
然后,通过运行 docker image ls
命令查找镜像:
我还可以使用以下命令打开容器:docker exec -it <container_hash> sh
。我只需要从项目的文件中制作一个 zip 文件。我指的是这些文件:
那么,我如何复制/粘贴正在运行的容器的所有文件,并在服务器上制作一个 zip 文件?请注意,我使用的是 Ubuntu 20.04。
英文:
I have a server that a docker container is running on. I can see it by running docker container ls
:
And finding the image by running docker image ls
:
I also can open the container using this command docker exec -it <container_hash> sh
. All I need to do is making a zip file from the files of the project. I mean these files:
So, how can I copy/paste all files of a running container and make a zip file of them on the server? Noted that I use Ubuntu 20.04
答案1
得分: 1
docker cp
在这里非常有用:
用法:docker cp [选项] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [选项] SRC_PATH| CONTAINER:DEST_PATH
在容器和本地文件系统之间复制文件/文件夹
使用'-'作为源以从标准输入读取tar归档文件
并将其提取到容器中的目标目录中。
使用'-'作为目标以将容器源的tar归档文件流式传输到标准输出。
选项:
-a,--archive 归档模式(复制所有uid/gid信息)
-L,--follow-link 始终跟随SRC_PATH中的符号链接
所以在你的情况下,你可以使用:
docker cp <container_name>:/app /local/path/for/directory
这将把目录复制到你的本地文件系统。从那里,你可以使用实用程序以任何你想要的格式创建归档文件。
英文:
docker cp
is your friend here:
Usage: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
Copy files/folders between a container and the local filesystem
Use '-' as the source to read a tar archive from stdin
and extract it to a directory destination in a container.
Use '-' as the destination to stream a tar archive of a
container source to stdout.
Options:
-a, --archive Archive mode (copy all uid/gid information)
-L, --follow-link Always follow symbol link in SRC_PATH
So in your case you could use
docker cp <container_name>:/app /local/path/for/directory
This will copy the directory out to your local file system. From there you can use a utility to create an archive in whatever format you want.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论