我刚开始学习docker,为了自学,我尝试了容器化bandit(一个python代码扫描器),但是在容器自我销毁之前,我无法看到扫描的输出,我怎样才能把输出文件从容器中复制到主机上,或者保存它呢?
现在我只是用强盗扫描自己基本上:)
停靠文件
FROM python:3-alpine
WORKDIR /
RUN pip install bandit
RUN apk update && apk upgrade
RUN apk add git
RUN git clone https://github.com/PyCQA/bandit.git ./code-to-scan
CMD [ "python -m bandit -r ./code-to-scan -o bandit.txt" ]
2条答案
按热度按时间bf1o4zei1#
您可以在主机上挂载一个卷,以便共享bandit的输出。
例如,可以使用以下命令运行容器:
你在你的档案里:
这样,
bandit.txt
文件将位于output
文件夹中。s6fujrry2#
最好把代码放在你的图片中,而不是根目录中。我对你的Dockerfile做了一些调整。
这会在你的WORKDIR中克隆git。注意CMD,它是一个数组,所以只需要像Dockerfile中那样划分所有的命令和参数。
我把Docker文件放在我的D:\test目录(Windows). docker build -t test中。
docker run -v D:/test/:/usr/myapp test
它将在test文件夹中生成bandit.txt。代码执行后,容器退出,因为没有其他操作要做。
您还可以输入--rm,以便在容器完成后将其删除。