Что означает «MultipleJGitEnvironmentRepository: Произошла ошибка при клонировании в базовый каталог». имею в виду? - PullRequest
0 голосов
/ 12 апреля 2019

Сценарий: у меня Spring Boot Cloud Config работает правильно локально.я хочу запустить его внутри моего Docker-контейнера.Я пробовал несколько подходов, и я все еще получаю сообщение об ошибке в этой теме.

Я вижу, что это как-то связано с Git, но я не могу думать, что я что-то не так делаю.Я создал VOLUME и указал его на свой локальный git-репозиторий за пределами Docker.

Так как я не знаю, на что именно было обращено внимание, я очень запутался, что и попробую.Я предполагаю, что эта ошибка возникает в Spring Boot, потому что он пытается получить доступ к хранилищу git вне контейнера Docker.

В случае, если это уместно, я использую CentOs.

dockerfile:

FROM openjdk:8-jre-alpine
MAINTAINER jimis
COPY files/config-server-0.0.1-SNAPSHOT.jar /opt/spring-cloud/lib/
ENV SPRING_APPLICATION_JSON='{"spring": {"cloud": {"config": {"server":{"git": {"uri": "/var/lib/spring-cloud/config-repo","clone-on-start": true}}}}}}'
ENTRYPOINT ["/usr/bin/java"]
CMD ["-jar", "/opt/spring-cloud/lib/config-server-0.0.1-SNAPSHOT.jar"]
VOLUME /home/jimis/_d/GITs/spring_cloud_config_server
EXPOSE 8888

pom:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.mybank</groupId>
    <artifactId>config-server</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>config-server</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-security</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

application.properties:

server.port=8888
spring.cloud.config.server.git.uri=/home/jimis/_d/GITs/spring_cloud_config_server
spring.cloud.config.server.git.clone-on-start=true
management.security.enabled=true
spring.autoconfigure.exclude=org.springframawork.boot.autoconfigure.SecurityAutoConfiguration

*** отредактировал все журналы:

[jimis@my-centos spring_cloud_config_server]$ ls
config-client-development.properties  config-client-production.properties
[jimis@my-centos spring_cloud_config_server]$ ]git status
bash: ]git: command not found
[jimis@my-centos spring_cloud_config_server]$ git init
Reinitialized existing Git repository in /home/jimis/_d/GITs/spring_cloud_config_server/.git/
[jimis@my-centos spring_cloud_config_server]$ git add .
[jimis@my-centos spring_cloud_config_server]$ git commit -m 'a'
[master (root-commit) 17b27ee] a
 2 files changed, 2 insertions(+)
 create mode 100644 config-client-development.properties
 create mode 100644 config-client-production.properties
[jimis@my-centos spring_cloud_config_server]$ docker build --file=Dockerfile.jce --tag=config-server:latest --rm=true .unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /home/jimis/_d/GITs/spring_cloud_config_server/Dockerfile.jce: no such file or directory
[jimis@my-centos spring_cloud_config_server]$ cd /_d
bash: cd: /_d: No such file or directory
[jimis@my-centos spring_cloud_config_server]$ cd /home/jimis/_d
[jimis@my-centos _d]$ ls
docker_containers  DOckerfile  GITs  postman-collections  tools  wiki_personal  WSs
[jimis@my-centos _d]$ cd docker_containers/
[jimis@my-centos docker_containers]$ ls
docker-compose.yml  dockerfile temp  index.html?tab=images  test
[jimis@my-centos docker_containers]$ cd test/
[jimis@my-centos test]$ ls
Dockerfile  Dockerfile.j  Dockerfile.jce  files
[jimis@my-centos test]$ docker build --file=Dockerfile.jce --tag=config-server:latest --rm=true .
Sending build context to Docker daemon   30.3MB
Step 1/8 : FROM openjdk:8-jre-alpine
 ---> ce8477c7d086
Step 2/8 : MAINTAINER jimis
 ---> Using cache
 ---> 9374f15ccee8
Step 3/8 : COPY files/config-server-0.0.1-SNAPSHOT.jar /opt/spring-cloud/lib/
 ---> Using cache
 ---> f51755b312a3
Step 4/8 : ENV SPRING_APPLICATION_JSON='{"spring": {"cloud": {"config": {"server":{"git": {"uri": "/var/lib/spring-cloud/config-repo","clone-on-start": true}}}}}}'
 ---> Using cache
 ---> e74d751a834e
Step 5/8 : ENTRYPOINT ["/usr/bin/java"]
 ---> Using cache
 ---> 9cc07b037942
Step 6/8 : CMD ["-jar", "/opt/spring-cloud/lib/config-server-0.0.1-SNAPSHOT.jar"]
 ---> Using cache
 ---> 6296a8af03c6
Step 7/8 : VOLUME /home/jimis/_d/GITs/spring_cloud_config_server
 ---> Running in a0e8feb850df
Removing intermediate container a0e8feb850df
 ---> f965c6e77ebb
Step 8/8 : EXPOSE 8888
 ---> Running in d96dd08fb766
Removing intermediate container d96dd08fb766
 ---> a43058934ad5
Successfully built a43058934ad5
Successfully tagged config-server:latest
[jimis@my-centos test]$ /home/jimis/_d/GITs/s^C
[jimis@my-centos test]$ docker volume create --name=vol-repo
vol-repo
[jimis@my-centos test]$ docker run --name=config-server --publish=8888:8888 --volume=vol-repo:/home/jimis/_d/GITs/spring_cloud_config_server config-server:latest
docker: Error response from daemon: Conflict. The container name "/config-server" is already in use by container "4621a6a3b2e6a9c49fba805549b94bbf4cb4373f941f27ab1d2d3a82fe13854b". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.
[jimis@my-centos test]$ docker container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
4621a6a3b2e6a9c49fba805549b94bbf4cb4373f941f27ab1d2d3a82fe13854b
f96bf8a70ff5f6398ebe8729718c1946a12db2fae8390f1f54bfca42b67e4da2

Total reclaimed space: 0B
[jimis@my-centos test]$ docker run --name=config-server --publish=8888:8888 --volume=vol-repo:/home/jimis/_d/GITs/spring_cloud_config_server config-server:latest
2019-04-12 17:47:48.805  INFO 1 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$aa804fc0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.3.RELEASE)

2019-04-12 17:47:49.097  INFO 1 --- [           main] c.m.c.ConfigServerApplication            : No active profile set, falling back to default profiles: default
2019-04-12 17:47:50.511  INFO 1 --- [           main] o.s.cloud.context.scope.GenericScope     : BeanFactory id=11be5ef3-61b1-3539-a246-b6326ba4f12c
2019-04-12 17:47:50.562  INFO 1 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$aa804fc0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-04-12 17:47:51.008  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8888 (http)
2019-04-12 17:47:51.070  INFO 1 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2019-04-12 17:47:51.071  INFO 1 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.16]
2019-04-12 17:47:51.094  INFO 1 --- [           main] o.a.catalina.core.AprLifecycleListener   : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/server:/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64:/usr/lib/jvm/java-1.8-openjdk/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
2019-04-12 17:47:51.367  INFO 1 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2019-04-12 17:47:51.368  INFO 1 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 2242 ms
2019-04-12 17:47:52.428  WARN 1 --- [           main] .c.s.e.MultipleJGitEnvironmentRepository : Error occured cloning to base directory.

org.eclipse.jgit.api.errors.InvalidRemoteException: Invalid remote: origin
        at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:251) ~[org.eclipse.jgit-5.1.3.201810200350-r.jar!/:5.1.3.201810200350-r]
        at org.eclipse.jgit.api.CloneCommand.fetch(CloneCommand.java:306) ~[org.eclipse.jgit-5.1.3.201810200350-r.jar!/:5.1.3.201810200350-r]
        at org.eclipse.jgit.api.CloneCommand.call(CloneCommand.java:200) ~[org.eclipse.jgit-5.1.3.201810200350-r.jar!/:5.1.3.201810200350-r]
        at org.springframework.cloud.config.server.environment.JGitEnvironmentRepository.cloneToBasedir(JGitEnvironmentRepository.java:589) [spring-cloud-config-server-2.1.1.RELEASE.jar!/:2.1.1.RELEASE]
        at org.springframework.cloud.config.server.environment.JGitEnvironmentRepository.initClonedRepository(JGitEnvironmentRepository.java:340) [spring-cloud-config-server-2.1.1.RELEASE.jar!/:2.1.1.RELEASE]
        at org.springframework.cloud.config.server.environment.JGitEnvironmentRepository.afterPropertiesSet(JGitEnvironmentRepository.java:256) [spring-cloud-config-server-2.1.1.RELEASE.jar!/:2.1.1.RELEASE]
        at org.springframework.cloud.config.server.environment.MultipleJGitEnvironmentRepository.afterPropertiesSet(MultipleJGitEnvironmentRepository.java:66) [spring-cloud-config-server-2.1.1.RELEASE.jar!/:2.1.1.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1821) [spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1758) [spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) [spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) [spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) [spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) [spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) [spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1463) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1427) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveMultipleBeans(DefaultListableBeanFactory.java:1318) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1205) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1167) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:668) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1395) [spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:592) [spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) [spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) [spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...