如何在 docker-compose 中部署 spring-cloud-config 服务器?

How to deploy spring-cloud-config server in docker-compose?

我的 docker-compose 有问题。我正在尝试使用一个 spring-cloud-config-server 创建多个容器,并且我正在尝试将 spring-cloud 服务器与我的 webapps 容器一起使用。

这是我的容器列表:

我已经尝试使用 localhost,我的配置服务器名称作为环境变量中的主机:SPRING_CLOUD_CONFIG_URI 和 boostrap.properties。 我的'configproperties'容器,在server.xml.

中使用8085

那是我的 docker-compose.yml

version: '3'
services:
  cnginx:
    image: cnginx
    ports:
      - 80:80
    restart: always
    depends_on:
      - configproperties
      - cprocess
      - webapps
  db:
    image: postgres:9.3
    environment:
      POSTGRES_USER: xxx
      POSTGRES_PASSWORD: xxx
    restart: always
    command:
      - -c
      - max_prepared_transactions=100
  configproperties:
    restart: on-failure:2
    image: configproperties
    depends_on:
      - db
    expose:
      - "8085"
    environment:
      - SPRING_DATASOURCE_URL=jdbc:postgresql://db:5432/mydbName?currentSchema=public
  webapps:
    restart: on-failure:2
    image: webapps
    links:
      - "configproperties"
    environment:
      - SPRING_CLOUD_CONFIG_URI=http://configproperties:8085/config-server
      - SPRING_PROFILES_ACTIVE=docker
    depends_on:
      - configproperties
    expose:
      - "8085"

当我 运行 我的 docker-compose 时,我的 webapps 正在部署时出现一些错误,例如:
- 无法解析值“${repository.temps}”

中的占位符 'repository.temps'

但是当我使用邮递员发送这样的请求时:
http://localhost/config-server/myApplication/docker/latest 它工作正常,请求 return 所有配置为 'myApplication'。

我想我错过了一些想法,但我没有找到...

谁能帮帮我?

此致,

使用spring cloud服务器,我们只需要在spring cloud服务器初始化后运行我们的webapps。

#!/bin/bash

CONFIG_SERVER_URL=$SPRING_CLOUD_CONFIG_URI/myApp/production/latest

#Check si le le serveur de config est bien lancé
echo 'Waiting for tomcat to be available'
attempt_counter=0
max_attempts=10
while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' $CONFIG_SERVER_URL)" != "200" ]]; do
    if [ ${attempt_counter} -eq ${max_attempts} ];then
        echo "Max attempts reached on $CONFIG_SERVER_URL"
        exit 1
    fi
    attempt_counter=$(($attempt_counter+1))
    echo "code retour $(curl -s -o /dev/null -w ''%{http_code}'' $CONFIG_SERVER_URL)"
    echo "Attempt to connect to $CONFIG_SERVER_URL : $attempt_counter/$max_attempts"
    sleep 15
done
echo 'Tomcat is available'
mv /usr/local/tomcat/webappsTmp/* /usr/local/tomcat/webapps/