gpt4 book ai didi

linux - 从 docker 容器创建/触摸主机上的文件

转载 作者:行者123 更新时间:2023-12-02 18:50:24 25 4
gpt4 key购买 nike

我想将一些配置文件压缩成 tar 并保存在主机上的/root/路径中。
目前,我在容器内运行的代码正在容器内创建 tar,然后将其复制到服务器。
有没有办法可以从容器内部直接在主机上创建 tar。一个带有触摸命令的简单示例在这里也会有所帮助。

最佳答案

是的,您可以堆主机目录,然后运行所需的命令,
下面将创建 tar 文件并退出。从所需目录运行以下命令。

.
└── config
└── default.conf
创建 tar
docker run -it --rm --workdir=/app -v $PWD/:/app alpine sh -c "tar -czvf file.tar.gz config"
执行后的树
├── config
│   └── default.conf
└── file.tar.gz

从容器到主机
docker run -it --rm --workdir=/app -v $PWD/:/app alpine sh -c "mkdir myfiles; cd myfiles; touch hello.txt; cd ..; tar -czvf file.tar.gz myfiles"
  • 它创建 myfiles/hello.txt 或者它也可以是现有目录
  • 在主机挂载位置创建 tar

  • 对于容器中的现有目录
    docker run -it --rm --workdir=/app -v $PWD/:/app alpine sh -c "cd parent_directory; tar -czvf file.tar.gz myfiles; cp parent_directory/file.tar.gz /app"
    将 tar 文件写入主机
     docker run -it --rm  alpine sh -c "cd path_to_tar ; tar -czf - ." >filename.tar.gz

    关于linux - 从 docker 容器创建/触摸主机上的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62947253/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com