【问题标题】:spring-cloud config runs ok locally but on docker it shows Cannot clone or checkout repositoryspring-cloud 配置在本地运行正常,但在 docker 上显示无法克隆或签出存储库
【发布时间】:2019-12-16 18:40:36
【问题描述】:

我在本地运行 Spring Cloud Config Server OK,但我想为项目尝试 docker。并且相同的代码在 docker 上出现了一些错误!

当我们在 docker 中时,配置服务器将从 git 中提取配置 我发现日志说:

无法克隆或签出存储库] 根本原因 org.eclipse.jgit.errors.CheckoutConflictException:签出与文件冲突:

我尝试删除所有图像并清除 docker 缓存并重建并重新运行它,最后显示相同的错误

spring:
    application:
        name: ace-config
    profiles:
        active: dev
    cloud:
      config:
        server:
          git:
            uri: https://gitlab.com/xxx/myproj.git
            searchPaths: config
            username: xxx
            password: xxx
            default-label: develop

这是我的 dockerfile

FROM livingobjects/jre8
VOLUME /tmp
ADD ./target/ace-config.jar app.jar
RUN rm -rf  /tmp/*
RUN bash -c 'touch /app.jar'

这是我的 docker-compose.yml

ace-config:
    build: ./ace-config
    image: mipay/ace-config:latest
    restart: always
    depends_on:
    - ace-center
    command: >
      bash -c "
      while ! (nc -z unipay 8761);
      do sleep 5;
      echo 'Waiting for config and center services to start-up...';
      done;
      java -Djava.security.egd=file:/dev/./urandom -jar /app.jar
      "
    ports:
    - "8750:8750"
    extra_hosts:
    - "unipay2:172.31.68.159"
    - "unipay:172.31.68.159"
    - "mipay:172.31.68.159"
    volumes:
    - /opt/logs/:/opt/logs

【问题讨论】:

    标签: docker docker-compose spring-cloud-config


    【解决方案1】:

    您可能遇到过这个问题:

    https://github.com/spring-cloud/spring-cloud-config/issues/407

    但实际上,Spring Cloud Config Server 承认配置服务器中的本地副本可能会变脏

    (例如,操作系统进程更改文件夹内容)

    为此,force-pull 属性可以设置为 true,如 documented here

    此外,由于操作系统进程可以修改系统临时目录(例如 /tmp/),因此您可以使用 spring.cloud.config.server.git.basedirdocumented here 准确指定要将检出的存储库放置在何处。

    你能试试看这些有没有帮助?

    【讨论】:

    • 谢谢,我将这三个添加到我的配置中: clone-on-start: true strict-host-key-checking: false force-pull: true 并且我安装了一个到 docker path 的路径来保存git config 的本地缓存。现在效果很好
    猜你喜欢
    • 2018-06-14
    • 2018-10-11
    • 2020-12-13
    • 1970-01-01
    • 2021-08-09
    • 2013-11-21
    • 2016-04-18
    • 2023-03-17
    • 1970-01-01
    相关资源
    最近更新 更多