Docker 如何禁用其中一个容器上的输出?

Docker 如何禁用其中一个容器上的输出?,docker,docker-compose,codeship,Docker,Docker Compose,Codeship,我正在为我的项目使用Codeship CI。 我有selenium测试,我正在使用来自selenium/standalone firefox的远程浏览器,但它会生成大量日志,因此我想禁用selenium/standalone firefox容器的stdout 有什么办法吗?在docker run中使用--log driver=none: docker run -d --log-driver=none selenium/standalone-firefox 或docker-compose.yml

我正在为我的项目使用Codeship CI。 我有selenium测试,我正在使用来自
selenium/standalone firefox
的远程浏览器,但它会生成大量日志,因此我想禁用
selenium/standalone firefox
容器的stdout

有什么办法吗?

docker run
中使用
--log driver=none

docker run -d --log-driver=none selenium/standalone-firefox
或docker-compose.yml

版本:“2”
服务:
硒:
端口:
- "4444:4444"
登录中:
司机:“没有”
图片:
selenium/standalone firefox
您还可以使用以下命令将日志发送到文件:

docker run -d --log-driver=none -e SE_OPTS="log log.txt" selenium/standalone-firefox
或docker-compose.yml

版本:“2”
服务:
硒:
端口:
- "4444:4444"
登录中:
司机:“没有”
环境:
-SE_OPTS=“log.txt”
图片:
selenium/standalone firefox
对于docker compose文件版本1,除了修改
入口点.sh

将此文件放在docker-compose.yml
entry\u point.sh的旁边

#/bin/bash
source/opt/bin/functions.sh
导出几何体=“$SCREEN\u WIDTH”“x”“$SCREEN\u HEIGHT”“x”“$SCREEN\u DEPTH”
功能关闭{
kill-s SIGTERM$NODE_PID
等待$NODE\u PID
}
如果[!-z“$SE_OPTS”];然后
echo“附加硒选项:${SE_OPTS}”
fi
SERVERNUM=$(获取服务器数量)
xvfb运行-n$SERVERNUM--server args=“-screen 0$GEOMETRY-ac+扩展名RANDR”\
java${java_OPTS}-jar/opt/selenium/selenium-server-standalone.jar\
${SE_OPTS}>/dev/null&
节点_PID=$!
陷阱关闭SIGTERM SIGINT
等待$NODE\u PID
使用此
docker compose.yml

selenium:
端口:
- "4444:4444"
卷数:
-.:/mnt
图片:
selenium/standalone firefox
命令:bash/mnt/entry\u point.sh>/dev/null

关于

CodeShip使用接受环境设置的docker compose v1的自定义变体。codeship-services.yml中的以下内容为我工作:

selenium:
  image: selenium/standalone-chrome
  cached: true
  container_name: selenium
  environment:
    -  SE_OPTS=-log /tmp/log.txt
SE_OPTS值不应包含在引号中/tmp是可写的,其他位置可能会导致权限错误。

我使用了这种方法:

JAVA_OPTS=-Dselenium.LOGGER.level=WARNING

在docker image for
selenium/standalone chrome

中将其添加为ENV变量,根据docker compose的版本,您可以使用“log\u driver:none”或“logging:\driver:none”吗?即使使用log_驱动程序:无我在stdoutHello上获得相同的输出,您是否解决了问题?抱歉,但没有帮助:(只需检查您是否正在使用最新的
docker compose
版本,还需要检查您的
docker compose.yml
版本开头:“2”
我无法重新使用版本:“2”因为代码,已经在v1中尝试了日志驱动程序。请忘记docker compose,用docker Run手动完成它,因为我只准备了推送到分支后运行的yaml文件,我所能修改的就是这个伪docker文件