容器起不来,完全按照步骤来的啊

来源:3-7 Docker run -link运行博客项目

慕码人5271775

2024-11-08

容器起来就自动退出了

024-11-08 06:05:26.152 INFO 1 — [ main] com.qingfeng.blog.BlogApplication : Starting BlogApplication v0.0.1-SNAPSHOT on fe6d863e89b1 with PID 1 (/kubeblog.jar started by root in /)
2024-11-08 06:05:26.156 DEBUG 1 — [ main] com.qingfeng.blog.BlogApplication : Running with Spring Boot v2.0.1.RELEASE, Spring v5.0.5.RELEASE
2024-11-08 06:05:26.158 INFO 1 — [ main] com.qingfeng.blog.BlogApplication : The following profiles are active: dev
2024-11-08 06:05:26.197 INFO 1 — [ main] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@612fc6eb: startup date [Fri Nov 08 06:05:26 UTC 2024]; root of context hierarchy
2024-11-08 06:05:27.328 ERROR 1 — [ main] o.s.boot.SpringApplication : Application run failed

java.lang.IllegalStateException: Cannot load configuration class: com.qingfeng.blog.BlogApplication
at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:414) ~[spring-context-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanFactory(ConfigurationClassPostProcessor.java:254) ~[spring-context-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:284) ~[spring-context-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:128) ~[spring-context-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:694) ~[spring-context-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532) ~[spring-context-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) ~[spring-boot-2.0.1.RELEASE.jar!/:2.0.1.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) ~[spring-boot-2.0.1.RELEASE.jar!/:2.0.1.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395) ~[spring-boot-2.0.1.RELEASE.jar!/:2.0.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) ~[spring-boot-2.0.1.RELEASE.jar!/:2.0.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1255) ~[spring-boot-2.0.1.RELEASE.jar!/:2.0.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1243) ~[spring-boot-2.0.1.RELEASE.jar!/:2.0.1.RELEASE]
at com.qingfeng.blog.BlogApplication.main(BlogApplication.java:11) ~[classes!/:0.0.1-SNAPSHOT]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:577) ~[na:na]
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) ~[kubeblog.jar:0.0.1-SNAPSHOT]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) ~[kubeblog.jar:0.0.1-SNAPSHOT]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) ~[kubeblog.jar:0.0.1-SNAPSHOT]
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51) ~[kubeblog.jar:0.0.1-SNAPSHOT]
Caused by: java.lang.ExceptionInInitializerError: null
at org.springframework.context.annotation.ConfigurationClassEnhancer.newEnhancer(ConfigurationClassEnhancer.java:122) ~[spring-context-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
at org.springframework.context.annotation.ConfigurationClassEnhancer.enhance(ConfigurationClassEnhancer.java:110) ~[spring-context-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:403) ~[spring-context-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
… 18 common frames omitted
Caused by: org.springframework.cglib.core.CodeGenerationException: java.lang.reflect.InaccessibleObjectException–>Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not “opens java.lang” to unnamed module @424c0bc4
at org.springframework.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:464) ~[spring-core-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
at org.springframework.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:336) ~[spring-core-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData3.apply(AbstractClassGenerator.java:93) [spring−core−5.0.5.RELEASE.jar!/:5.0.5.RELEASE]atorg.springframework.cglib.core.AbstractClassGenerator3.apply(AbstractClassGenerator.java:93) ~[spring-core-5.0.5.RELEASE.jar!/:5.0.5.RELEASE] at org.springframework.cglib.core.AbstractClassGenerator3.apply(AbstractClassGenerator.java:93) [springcore5.0.5.RELEASE.jar!/:5.0.5.RELEASE]atorg.springframework.cglib.core.AbstractClassGeneratorClassLoaderData$3.apply(AbstractClassGenerator.java:91) ~[spring-core-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
at org.springframework.cglib.core.internal.LoadingCache2.call(LoadingCache.java:54) [spring−core−5.0.5.RELEASE.jar!/:5.0.5.RELEASE]atjava.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [na:na]atorg.springframework.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61) [spring−core−5.0.5.RELEASE.jar!/:5.0.5.RELEASE]atorg.springframework.cglib.core.internal.LoadingCache.get(LoadingCache.java:34) [spring−core−5.0.5.RELEASE.jar!/:5.0.5.RELEASE]atorg.springframework.cglib.core.AbstractClassGenerator2.call(LoadingCache.java:54) ~[spring-core-5.0.5.RELEASE.jar!/:5.0.5.RELEASE] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na] at org.springframework.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61) ~[spring-core-5.0.5.RELEASE.jar!/:5.0.5.RELEASE] at org.springframework.cglib.core.internal.LoadingCache.get(LoadingCache.java:34) ~[spring-core-5.0.5.RELEASE.jar!/:5.0.5.RELEASE] at org.springframework.cglib.core.AbstractClassGenerator2.call(LoadingCache.java:54) [springcore5.0.5.RELEASE.jar!/:5.0.5.RELEASE]atjava.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [na:na]atorg.springframework.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61) [springcore5.0.5.RELEASE.jar!/:5.0.5.RELEASE]atorg.springframework.cglib.core.internal.LoadingCache.get(LoadingCache.java:34) [springcore5.0.5.RELEASE.jar!/:5.0.5.RELEASE]atorg.springframework.cglib.core.AbstractClassGeneratorClassLoaderData.get(AbstractClassGenerator.java:116) ~[spring-core-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
at org.springframework.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:291) ~[spring-core-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
at org.springframework.cglib.core.KeyFactory$Generator.create(KeyFactory.java:221) ~[spring-core-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
at org.springframework.cglib.core.KeyFactory.create(KeyFactory.java:174) ~[spring-core-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
at org.springframework.cglib.core.KeyFactory.create(KeyFactory.java:153) ~[spring-core-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
at org.springframework.cglib.proxy.Enhancer.(Enhancer.java:73) ~[spring-core-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
… 21 common frames omitted
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not “opens java.lang” to unnamed module @424c0bc4
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) ~[na:na]
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) ~[na:na]
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:200) ~[na:na]
at java.base/java.lang.reflect.Method.setAccessible(Method.java:194) ~[na:na]
at org.springframework.cglib.core.ReflectUtils1.run(ReflectUtils.java:61) [spring−core−5.0.5.RELEASE.jar!/:5.0.5.RELEASE]atjava.base/java.security.AccessController.doPrivileged(AccessController.java:569) [na:na]atorg.springframework.cglib.core.ReflectUtils.<clinit>(ReflectUtils.java:52) [spring−core−5.0.5.RELEASE.jar!/:5.0.5.RELEASE]atorg.springframework.cglib.core.KeyFactory1.run(ReflectUtils.java:61) ~[spring-core-5.0.5.RELEASE.jar!/:5.0.5.RELEASE] at java.base/java.security.AccessController.doPrivileged(AccessController.java:569) ~[na:na] at org.springframework.cglib.core.ReflectUtils.<clinit>(ReflectUtils.java:52) ~[spring-core-5.0.5.RELEASE.jar!/:5.0.5.RELEASE] at org.springframework.cglib.core.KeyFactory1.run(ReflectUtils.java:61) [springcore5.0.5.RELEASE.jar!/:5.0.5.RELEASE]atjava.base/java.security.AccessController.doPrivileged(AccessController.java:569) [na:na]atorg.springframework.cglib.core.ReflectUtils.<clinit>(ReflectUtils.java:52) [springcore5.0.5.RELEASE.jar!/:5.0.5.RELEASE]atorg.springframework.cglib.core.KeyFactoryGenerator.generateClass(KeyFactory.java:243) ~[spring-core-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
at org.springframework.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) ~[spring-core-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
at org.springframework.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:329) ~[spring-core-5.0.5.RELEASE.jar!/:5.0.5.RELEASE]
… 33 common frames omitted

2024-11-08 06:05:27.330 INFO 1 — [ main] ConfigServletWebServerApplicationContext : Closing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@612fc6eb: startup date [Fri Nov 08 06:05:26 UTC 2024]; root of context hierarchy

写回答

2回答

慕码人5271775

提问者

2024-11-08

数据库是正常启动,且连接成功,创建了blogDB数据库的

[root@K8S-Maskter resources]# mysql -h127.0.0.1 -uroot -p'password'
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.32 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> show databases
    -> ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| blogDB             |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)


0
0

慕码人5271775

提问者

2024-11-08

docker run \

 --name mysql57 \

 -p 3306:3306 \

 -v /opt/mysql/data:/var/lib/mysql \

 -v /opt/mysql/log:/var/log/mysql \

 -v /opt/mysql/my.cnf:/etc/mysql/my.cnf:rw \

 -e MYSQL_ROOT_PASSWORD=password \

 -d mysql:5.7 --default-authentication-plugin=mysql_native_password


[root@K8S-Maskter Final]# docker ps -a 

CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS                      PORTS                                                  NAMES

fe6d863e89b1   kubeblog       "java -jar /kubeblog…"   5 minutes ago    Up 1 second                 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp              kubeblog

e692e4ea7ec9   ae0658fdbad5   "docker-entrypoint.s…"   26 minutes ago   Up 22 minutes               0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql57


[root@K8S-Maskter Final]# cat Dockerfile 

FROM openjdk

MAINTAINER QingFeng

VOLUME /tmp

ADD target/kubeblog.jar /kubeblog.jar

EXPOSE 5000

ENTRYPOINT ["java","-jar","/kubeblog.jar"]


docker run --name kubeblog -d -p 5000:5000  --link mysql57 -e MYSQL_SERVER="mysql57"  kubeblog


fe6d863e89b1   kubeblog       "java -jar /kubeblog…"   9 minutes ago    Exited (1) 4 minutes ago                                                           kubeblog

e692e4ea7ec9   ae0658fdbad5   "docker-entrypoint.s…"   30 minutes ago   Up 26 minutes               0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql57



[root@K8S-Maskter resources]# cat application-dev.yml 

spring:

  datasource:

    driver-class-name: com.mysql.jdbc.Driver

    url: jdbc:mysql://${MYSQL_SERVER:127.0.0.1}:${MYSQL_PORT:3306}/${MYSQL_DB_NAME:blogDB}?useUnicode=true&characterEncoding=utf-8&useSSL=false

    #如果运行出错,可以把连接写成下面的路径进行测试

    #url: jdbc:mysql://127.0.0.1:3306/blogDB?useUnicode=true&characterEncoding=utf-8

    username: ${MYSQL_USER_TEST:root}

    password: ${MYSQL_PASSWORD_TEST:password}

  #    data: classpath:data.sql

  #    initialization-mode: ALWAYS


0
0

Kubernetes 入门到进阶实战,系统性掌握 K8s 生产实践

阿里云最有价值专家亲授,云原生时代必备技能

1501 学习 · 613 问题

查看课程