我正在本地运行,但是我想尝试一下这个项目的docker。同样的代码在码头上也有一些错误!
由于配置服务器将从git中提取信任,所以当我们在docker时,我发现日志上写着:
无法克隆或签出存储库],其根本原因是org.eclipse.jgit.errors.CheckoutConflictException:签出与文件冲突:
我尝试删除所有图像并清除停靠器缓存,并重新构建并重新运行它,最后显示的错误相同。
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
这是我的文件
FROM livingobjects/jre8
VOLUME /tmp
ADD ./target/ace-config.jar app.jar
RUN rm -rf /tmp/*
RUN bash -c 'touch /app.jar'
这是我的船坞-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
发布于 2019-08-21 05:36:51
你有可能发现了这个问题:
https://github.com/spring-cloud/spring-cloud-config/issues/407
但是实际上,承认配置服务器中的本地副本可能会变得脏
(例如,文件夹内容由OS进程更改)
为此,可以将force-pull
属性设置为记录在这里。
此外,由于系统临时目录(例如/tmp/)可以由OS进程修改,因此可以使用spring.cloud.config.server.git.basedir
作为记录在这里指定要将签出的存储库放在何处。
你能试试看看这些是否有用吗?
https://stackoverflow.com/questions/57422986
复制相似问题