Tag: spring云彩configuration

Docker – SpringConfig – 连接拒绝configuration服务器

我想用DockerCompose部署一个ConfigServrService和一个远程仓库的客户端。 docker-compose.yml就像: version: '2' services: rabbitmq: image: rabbitmq ports: – "5672:5672" config-server: image: config-server environment: – "SPRING_PROFILES_ACTIVE=desa" ports: – "8888:8888" links: – rabbitmq depends_on: – rabbitmq user-service-config: image: user-service-config environment: – "SPRING_PROFILES_ACTIVE=desa" ports: – "8090:8090" links: – config-server – rabbitmq depends_on: – rabbitmq – config-server 在他们部署的那一刻,客户端控制台显示: cccConfigServicePropertySourceLocator:从服务器获取configuration: http:// localhost:8888 (而不是http:// config-server:8888 ) 之后,控制台显示: 找不到PropertySource:对“ http:// […]

在Docker虚拟机上运行并在本地主机上运行的服务如何dynamic注册到EUREKA?

我的Eurekaconfiguration有问题。 通常我所有的服务都作为虚拟机中的docker容器运行。 我的configuration如下所示: eureka: instance: prefer-ip-address: true ip-address: 192.168.99.100 有时我想debugging一个服务并在本地启动它作为spring-boot应用程序,并且仍然在上面注册IP。 据我了解,configuration中的IP只是覆盖真实的IP。 我的想法解决这个问题,是一个configuration文件,它覆盖了Docker虚拟机IP。 但是我的机器IP正在定期更换。 有没有办法让IP的configuration根据我的机器IPdynamic变化。 eureka: instance: prefer-ip-address: true ip-address: 192.168.99.100 — spring: profiles: local eureka: instance: ip-address: TODO change dynamically 如果这还没有实施,我可以自己实施吗? 非常感谢! 🙂

spring云configuration服务器:SSH连接到私人configuration回购

正如它在这里所说,我需要在我的.ssh目录下的id_rsa和knowm_hosts文件的连接工作。 这在我的本地机器上正常工作。 如果我需要使用spotify docker-maven-plugin生成一个docker镜像,那么下面的dockerfile将完成这项工作。 FROM frolvlad/alpine-oraclejdk8:slim # Install ssh server RUN apk update RUN apk add openssh VOLUME /tmp ADD configserv-0.0.1-SNAPSHOT.jar app.jar RUN sh -c 'touch /app.jar' # Authorize SSH host RUN mkdir -p /root/.ssh RUN chmod 700 /root/.ssh # Add SSH keys COPY id_rsa >> /root/.ssh/id_rsa RUN chmod 600 /root/.ssh/id_rsa # Add gitlab public […]

在Docker中使用Spring Cloud Config进行SSH转发

我将Spring Boot应用程序设置为Spring Cloud Config服务器,并从Spring Boot应用程序的application.yml中指定的Gitlab存储库中提取configuration。 我在Gitlab服务器上使用部署密钥。 这可以在我的〜/ .ssh目录中使用deploy key的私钥在本地运行。 我想在Docker中运行这个应用程序,我想使用SSH转发,而不是将〜/ .ssh中的私钥存储在Docker容器中。 我已经在Docker主机上安装了ssh-agent,并在docker-compose.yml中为容器configuration了以下内容: volumes: – $SSH_AUTH_SOCK:/ssh-agent environment: – SSH_AUTH_SOCK=/ssh-agent 在〜/ .ssh中有一个configuration文件,内容如下: Host mygitlabserver.com Hostname mygitlabserver.com StrictHostKeyChecking no ForwardAgent yes 这一切工作,如果我SSH进入正在运行的Docker容器,并手动运行一个Git克隆。 但是,如果我在容器中启动Spring Boot应用程序并尝试从Spring Cloud Config中取出configuration,则Spring Boot应用程序日志中会出现此错误: java.lang.IllegalStateException: Cannot clone or checkout repository] with root cause com.jcraft.jsch.JSchException: Auth fail at com.jcraft.jsch.Session.connect 如果我在Docker容器中的〜/ .ssh中添加私钥,而不是尝试使用转发,那么应用程序可以从Git中获取configuration。 有没有办法通过SSH转发让Spring Cloud Config在Docker中工作? 如果没有,有没有其他的方法来避免将私钥存储在正在运行的Docker容器中的文件系统的〜/ .ssh中?