/dev/null 似乎无法在 docker 容器中工作
/dev/null doesn't seem to be working in docker container
我正在 运行在 Travis-CI 中进行一些自动化测试,但我无法理解一些奇怪的行为。问题如下:有一个使用大量重定向的长命令:
bamtofastq filename=input.bam T=temp.fq-sort F=>(bgzip -c /dev/stdin > matched_1.fq.gz) F2=>(bgzip -c /dev/stdin > matched_2.fq.gz) S=/dev/null O=/dev/null O2=/dev/null collate=1 colsbs=1048576
参数 S
、O
和 O2
将输出重定向到 /dev/null
,因此标准输出中不应显示任何内容。如果我 运行 在本地测试一切正常,但是,当我 运行 在 Travis 中进行测试时,出于某种原因将这些输出重定向到标准输出。请查看此构建日志以了解我的意思:https://travis-ci.org/guillermo-carrasco/bcbio-nextgen/builds/81020672
我真的不知道发生了什么。我什至在容器内做了一个 ls > /dev/null
的小测试,看看 docker 图像中的 /dev/null
是否有问题,但它按预期工作。
任何有关考虑事项的想法都将不胜感激。
非常感谢,
已解决,显然只是在 docker 命令中添加 --privileged
的问题。这使得容器能够使用主机设备,即 /dev/null
。非常感谢 Travis-CI 的建议:https://twitter.com/travisci/status/646027217147961344
我正在 运行在 Travis-CI 中进行一些自动化测试,但我无法理解一些奇怪的行为。问题如下:有一个使用大量重定向的长命令:
bamtofastq filename=input.bam T=temp.fq-sort F=>(bgzip -c /dev/stdin > matched_1.fq.gz) F2=>(bgzip -c /dev/stdin > matched_2.fq.gz) S=/dev/null O=/dev/null O2=/dev/null collate=1 colsbs=1048576
参数 S
、O
和 O2
将输出重定向到 /dev/null
,因此标准输出中不应显示任何内容。如果我 运行 在本地测试一切正常,但是,当我 运行 在 Travis 中进行测试时,出于某种原因将这些输出重定向到标准输出。请查看此构建日志以了解我的意思:https://travis-ci.org/guillermo-carrasco/bcbio-nextgen/builds/81020672
我真的不知道发生了什么。我什至在容器内做了一个 ls > /dev/null
的小测试,看看 docker 图像中的 /dev/null
是否有问题,但它按预期工作。
任何有关考虑事项的想法都将不胜感激。
非常感谢,
已解决,显然只是在 docker 命令中添加 --privileged
的问题。这使得容器能够使用主机设备,即 /dev/null
。非常感谢 Travis-CI 的建议:https://twitter.com/travisci/status/646027217147961344