A docker image of Spring Cloud Config Server.
3.0.5-jdk8
,3.0-jdk8
,jdk8
,3.0.5
,3.0
,latest
3.0.5-jdk11
,3.0-jdk11
,jdk11
3.0.5-jdk15
,3.0-jdk15
,jdk15
docker run -it --name=spring-cloud-config-server \
-p 8888:8888 \
-v </path/to/config>:/config \
hyness/spring-cloud-config-server
-p 8888
Server port-v /config
Mounted configuration
JAVA_OPTS
Specify VM Options or System Properties
Spring Cloud Config Server is a normal Spring Boot application, it can be configured through all the ways a Spring Boot application can be configured. You may use environment variables or you can mount configuration in the provided volume. The configuration file must be named application and may be a properties or yaml file. See the Spring Boot documentation for further information on how to use and configure Spring Boot.
docker run -it -p 8888:8888 \
-v /path/to/config/dir:/config \
hyness/spring-cloud-config-server
docker run -it -p 8888:8888 \
-v /path/to/application.yml:/config/application.yml \
hyness/spring-cloud-config-server
docker run -it -p 8888:8888 \
-e SPRING_CLOUD_CONFIG_SERVER_GIT_URI=https://github.com/spring-cloud-samples/config-repo \
-e SPRING_CLOUD_CONFIG_SERVER_GIT_DEFAULT-LABEL=main \
hyness/spring-cloud-config-server
docker run -it -p 8888:8888 \
-e JAVA_OPTS=-Dspring.cloud.config.server.git.uri=https://github.com/spring-cloud-samples/config-repo \
hyness/spring-cloud-config-server
docker run -it -p 8888:8888 \
hyness/spring-cloud-config-server \
--spring.cloud.config.server.git.uri=https://github.com/spring-cloud-samples/config-repo
--spring.cloud.config.server.git.default-label=main
$ curl http://localhost:8888/foo/development
Spring Cloud Config Server requires that you configure a backend to serve your configuration files. There are currently 6 backends to choose from...
docker run -it -p 8888:8888 \
-e SPRING_CLOUD_CONFIG_SERVER_GIT_URI=https://github.com/spring-cloud-samples/config-repo \
hyness/spring-cloud-config-server
docker run -it -p 8888:8888 \
-v /path/to/config/files/dir:/config \
-e SPRING_CLOUD_CONFIG_SERVER_GIT_URI=file:/config/my-local-git-repo \
hyness/spring-cloud-config-server
docker run -it -p 8888:8888 \
-v /path/to/config/files/dir:/config \
-e SPRING_PROFILES_ACTIVE=native \
hyness/spring-cloud-config-server
docker run -it -p 8888:8888 \
-e SPRING_PROFILES_ACTIVE=vault \
-e SPRING_CLOUD_CONFIG_SERVER_VAULT_HOST=localhost \
-e SPRING_CLOUD_CONFIG_SERVER_VAULT_TOKEN=00000000-0000-0000-0000-000000000000 \
hyness/spring-cloud-config-server
docker run -it -p 8888:8888 \
-e SPRING_PROFILES_ACTIVE=awss3 \
-e SPRING_CLOUD_CONFIG_SERVER_AWSS3_REGION=us-east-1 \
-e SPRING_CLOUD_CONFIG_SERVER_AWSS3_BUCKET=bucket \
hyness/spring-cloud-config-server
docker run -it -p 8888:8888 \
-e SPRING_PROFILES_ACTIVE=redis \
-e SPRING_REDIS_HOST=localhost
-e SPRING_REDIS_PORT=6379
hyness/spring-cloud-config-server
docker run -it -p 8888:8888 \
-e SPRING_PROFILES_ACTIVE=jdbc \
-e SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/database_name \
-e SPRING_DATASOURCE_USERNAME=myuser \
-e SPRING_DATASOURCE_PASSWORD=mypassword \
hyness/spring-cloud-config-server
- Firebird
- MariaDB
- MS-SQL
- Postgres
See the docker-compose examples for more details
Spring Cloud Bus links the nodes of a distributed system with a lightweight message broker. It allows clusters of applications configured with RefreshScope to automatically reload configuration without restarting.
See the Spring Cloud Conifg and Spring Cloud Bus documentation for more details
docker run -it -p 8888:8888 \
-e SPRING_PROFILES_ACTIVE=cloud-bus-kafka \
-e SPRING_CLOUD_CONFIG_SERVER_GIT_URI=https://github.com/spring-cloud-samples/config-repo \
-e SPRING_KAFKA_BOOTSTRAP-SERVERS=localhost:9092 \
hyness/spring-cloud-config-server
docker run -it -p 8888:8888 \
-e SPRING_PROFILES_ACTIVE=cloud-bus-rabbit \
-e SPRING_CLOUD_CONFIG_SERVER_GIT_URI=https://github.com/spring-cloud-samples/config-repo \
-e SPRING_RABBITMQ_HOST=localhost \
hyness/spring-cloud-config-server
The Spring Boot actuator is
enabled by default. See the Spring Boot documentation
for configuration options. The actuator can be disabled entirely by including the no-actuator
profile
To enable support for an additional prometheus metrics endpoint, enable the prometheus
endpoint, as well as ensuring the
endpoint is exposed.
docker run -it -p 8888:8888 \
-v /path/to/config/files/dir:/config \
-e SPRING_CLOUD_CONFIG_SERVER_GIT_URI=file:/config/my-local-git-repo \
-e MANAGEMENT_ENDPOINT_PROMETHEUS_ENABLED=true \
-e MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE=* \
hyness/spring-cloud-config-server
Spring Security can be enabled through the security
profile.
docker run -it -p 8888:8888 \
-e SPRING_PROFILES_ACTIVE=security \
-e SPRING_SECURITY_USER_NAME=myuser -e SPRING_SECURITY_USER_PASSWORD=mypassword \
hyness/spring-cloud-config-server
If you have checked out the project prior to the renaming, run the following command to fix your local copy
git branch -m master main
git fetch origin
git branch -u origin/main main
Thank you to all of the contributors who have helped make this project better through code contributions and bug reports.
This project is developed using the outstanding IntelliJ IDE, thanks to support from JetBrains