gpt4 book ai didi

bash - Docker-为什么cp无法通过bash正确复制?

转载 作者:行者123 更新时间:2023-12-02 21:11:53 26 4
gpt4 key购买 nike

我正在尝试运行普通的bash脚本,以从容器中运行工具并将其输出提取到主机。这是到目前为止我所学到的(当然不包括脚本本身):

docker build -t amass https://github.com/OWASP/Amass.git
docker run -d --name amass_dock amass
docker exec -it amass_dock sh -c "./bin/amass --passive -d example.com -o out.txt"
docker cp amass_dock:/out.txt .

这给出了错误:“无法在停止状态下执行”。
执行此操作的正确方法是什么?我的目标是最终运行docker程序并将输出输出到主机。

最佳答案

最简单的是read the manual :),然后像这样运行它:

docker build -t amass https://github.com/OWASP/Amass.git
# Note that out.txt will be created on your host, not within the container
docker run amass --passive -d example.com > out.txt
cat out.txt

PS:为方便起见,您可能希望将包装器脚本放置在主机系统上,如下所示:
#!/bin/bash
# /usr/local/bin/amass
docker run amass "$@"

使它可执行:
chmod +x /usr/local/bin/amass

现在,您可以运行 amass,并在脚本中使用它,就像将其安装在主机系统上一样:
amass --passive -d example.com

关于bash - Docker-为什么cp无法通过bash正确复制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53969290/

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