当前位置: 首页 > 知识库问答 >
问题:

Docker:Docker Confluence服务器MySQL出现SLF4J错误-“Docker运行”正常,“Docker编写”不正常

廖弘伟
2023-03-14

我试图运行与mysql汇合使用Docker桌面在Windows 10多容器应用程序中使用一个docker-compose.yml文件,如下所示:

services: 
  confluence:
    image: atlassian/confluence-server:7.4.6
    build: ./confluence
    container_name: confluence
    hostname: confluence
    volumes: 
      - ./confluence/data/confluence:/var/atlassian/application-data/confluence   # for the confluence.cfg.xml
      - ./confluence/lib:/opt/atlassian/confluence/confluence/WEB-INF/lib   # for the mysql driver jar-file
    ports:
      - 8090:8090
      - 8091:8091

  mysql:
    image: mysql:5.7
    build: ./mysql
    container_name: mysql
    hostname: mysql
    ports:
      - 3306:3306
    environment: 
      - MYSQL_ROOT_PASSWORD=root
    command: [mysqld, --character-set-server=utf8, --collation-server=utf8_bin, --default-storage-engine=INNODB, --max_allowed_packet=256M, --innodb_log_file_size=2GB, --transaction-isolation=READ-COMMITTED, --binlog_format=row]

然而,当我使用docker compose-up--build--force recreate运行这个时,我得到

信息[主]组织。阿帕奇。卡塔琳娜。果心标准引擎。startInternal启动Servlet引擎:[ApacheTomcat/9.0.33]汇流|处理程序错误汇流| java。lang.ClassNotFoundException:org。slf4j。桥SLF4JBridgeHandler汇流处|在。。。在org。阿帕奇。公猫util。线程。TaskThread$WrappingRunnable。在java上运行(TaskThread.java:61)汇流。base/java。朗。丝线。run(Thread.java:834)converge | SEVERE[Catalina-utility-1]org。阿帕奇。卡塔琳娜。果心标准上下文。startInternal一个或多个侦听器无法启动。完整详细信息将在相应的容器日志文件confluence | SEVERE[Catalina-utility-1]org中找到。阿帕奇。卡塔琳娜。果心标准上下文。startInternal Context[]启动失败,原因是以前的错误confluence | INFO[Catalina-utility-2]org。阿帕奇。贾斯珀。servlet。TldScanner。scanJars至少有一个JAR已扫描TLD,但未包含TLD。为此记录器启用调试日志记录以获取已扫描的JAR的完整列表,但未找到TLD。在扫描过程中跳过不需要的JAR可以缩短启动时间和JSP编译时间。汇流| SLF4J:加载类“org.SLF4J.impl.StaticLoggerBinder”失败。汇流| SLF4J:默认为无操作(NOP)记录器实现汇流| SLF4J:请参阅http://www.slf4j.org/codes.html#StaticLoggerBinder详情请参阅。

当我运行docker run-vd:/docker/conf mysql/confluence/data/confluence:/var/atlassian/application data/confluence--name=“confluence”-p8090:8090-p8091:8091 atlassian/confluence服务器:7.4.6

信息[主]组织。阿帕奇。卡塔琳娜。果心标准引擎。startInternal启动Servlet引擎:[ApacheTomcat/9.0.33]信息[Catalina-utility-2]组织。阿帕奇。贾斯珀。servlet。TldScanner。scanJars至少有一个JAR已扫描TLD,但未包含TLD。为此记录器启用调试日志记录以获取已扫描的JAR的完整列表,但未找到TLD。在扫描过程中跳过不需要的JAR可以缩短启动时间和JSP编译时间。SLF4J:未能加载类“org.SLF4J.impl.StaticLoggerBinder”。SLF4J:默认为无操作(NOP)记录器实现SLF4J:请参阅http://www.slf4j.org/codes.html#StaticLoggerBinder详情请参阅。

所以:在这两种情况下,SLF4J都会返回NOP模式,但当我使用docker compose up时,我会在localhost:8090上得到一个严重错误和一个404,因为Tomcat无法加载SLF4J,当我使用docker run时,会在URI上启动confluence,但随后没有DBMS可连接。

有什么想法吗?请帮忙!非常感谢。


共有1个答案

陈嘉荣
2023-03-14

好的,这很简单:我只需要删除该行

  • /confluence/lib:/opt/atlassian/confluence/confluence/WEB-INF/lib

我最初的理解是,像这样绑定到容器的文件将被添加到文件夹中,并通过文件夹(如链接)进行访问。显然,“卷”会将整个路径重新路由到主机,如果容器文件夹中有文件,则当卷绑定到容器时,这些文件将不再可访问。

希望这对某人有帮助!:-)

 类似资料:
  • docker错误: PS C:\Windows\System32>docker运行测试错误:出现JNI错误,请检查线程“main”java.lang.noClassDeffounderRorr:javax/JMSException在java.lang.Class.GetDeclaredMethods0(本机方法)在java.lang.Class.GetDeclaredMethods(class.j

  • 我的laravel项目在本地运行,但当我部署服务器时,项目给出错误。 SQLState[42883]:未定义函数:7错误:运算符不存在:boolean=整数行1:...来自“bo_user”,其中“email”=$1,“isactived”=$2限制...^提示:没有与给定名称和参数类型匹配的运算符。您可能需要添加显式类型转换。(SQL:select*from“bo_user”,其中“email”

  • 问题内容: 我正在尝试使用JavaMail API发送电子邮件。我从自解压二进制文件在我的主目录中安装了jdk 1.5。我正在使用Ubintu 9.10 我使用下一条命令编译程序: 〜/ jdk1.5.0_22 / bin / javac -classpath〜/ jdk1.5.0_22 / jre / lib / javamail-1.4.3 / mail.jar:〜/ jdk1.5.0_22

  • 问题内容: 我有Jenkins作业的阶段,可以使用docker测试和部署我的nodejs,我在端口3000上运行docker,但是当我尝试浏览我的docker时,它不起作用,并且我的docker没有运行 这是我的Jenkinsfile Dockerfile: 我在ubuntu服务器上通过docker- compose运行Jenkins,是我丢失还是出错了?因为我的目标是使用Jenkins来测试我的

  • 嘿,我正在使用xampp,并试图运行localhost,但在connect.php中经常出现错误...错误如下所示 致命错误:未捕获错误:调用C:\xampp\htdocs\admin panel\connect.php:9中的未定义函数mysql_connect()堆栈跟踪:#0C:\xampp\htdocs\admin panel\index.php(16):include()#1{main}

  • 我正在使用docker compose容器部署3个项目:Eureka、Zuul服务和应用程序。以下是这些项目的配置: 尤里卡: 祖尔: 应用 当我做docker组装时,它正确地旋转容器,没有错误。然而,当我使用API网关调用RESTendpoint时,我得到了一个错误:com。netflix。祖尔。例外ZuuleException:转发错误