docker pull apolloconfig/apollo-configservice:latest
docker pull apolloconfig/apollo-adminservice:latest
docker pull apolloconfig/apollo-portal:latest
-- init-user.sql
use mysql;
update user set host = '%' where user = 'root';
alter user 'root'@'%' identified with mysql_native_password by '123456';
alter user 'root'@'%' identified with mysql_native_password by '123456';
flush privileges;
-- init-user.sql
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
version: '3'
services:
apollo-configservice:
image: apolloconfig/apollo-configservice:latest
networks:
- apollo-network
ports:
- "8080:8080"
environment:
- SPRING_PROFILES_ACTIVE=dev
- SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/ApolloConfigDB?characterEncoding=utf8
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=123456
- SPRING_DATASOURCE_DRIVER_CLASS_NAME=com.mysql.cj.jdbc.Driver
- EUREKA_CLIENT_SERVICE_URL_DEFAULTZONE=http://apollo-configservice:8080/eureka/
- EUREKA_INSTANCE_PREFER_IP_ADDRESS=true
depends_on:
- mysql
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 30s
timeout: 10s
retries: 15
apollo-adminservice:
image: apolloconfig/apollo-adminservice:latest
networks:
- apollo-network
ports:
- "8090:8090"
depends_on:
- apollo-configservice
environment:
- SPRING_PROFILES_ACTIVE=dev
- SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/ApolloConfigDB?characterEncoding=utf8
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=123456
- SPRING_DATASOURCE_DRIVER_CLASS_NAME=com.mysql.cj.jdbc.Driver
- EUREKA_CLIENT_SERVICE_URL_DEFAULTZONE=http://apollo-adminservice:8090/eureka/
- EUREKA_INSTANCE_PREFER_IP_ADDRESS=true
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8090/health"]
interval: 30s
timeout: 10s
retries: 15
restart: always
apollo-portal:
image: apolloconfig/apollo-portal:latest
networks:
- apollo-network
ports:
- "8070:8070"
depends_on:
- apollo-configservice
- apollo-adminservice
environment:
- SPRING_PROFILES_ACTIVE=dev
- SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/ApolloPortalDB?characterEncoding=utf8
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=123456
- SPRING_DATASOURCE_DRIVER_CLASS_NAME=com.mysql.cj.jdbc.Driver
- APOLLO_PORTAL_ENVS=dev
- DEV_META=http://apollo-configservice:8080
- EUREKA_CLIENT_SERVICE_URL_DEFAULTZONE=http://apollo-configservice:8080/eureka/
- EUREKA_INSTANCE_PREFER_IP_ADDRESS=true
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8070/health"]
interval: 30s
timeout: 10s
retries: 5
mysql:
image: mysql/mysql-server:8.0.26
container_name: mysql_apollo
networks:
- apollo-network
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: ApolloConfigDB,ApolloPortalDB
volumes:
- mysql-data:/var/lib/mysql
- ./sql/:/docker-entrypoint-initdb.d
ports:
- "3306:3306"
healthcheck:
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 10
volumes:
mysql-data:
networks:
apollo-network:
driver: bridge
修改前:eureka.service.url: http://localhost:8080/eureka/
修改后:eureka.service.url: http://172.31.0.3:8080/eureka/
注意:
- 这里的 172.31.0.3 是 apollo-configservice 容器的ip地址
- 此ip地址使用 docker inspect apollo-configservice 命令查询获取,"IPAddress"选项值
com.ctrip.framework.apollo
apollo-client
2.0.1
org.springframework.boot
spring-boot-starter-web
2.1.7.RELEASE
app:
id: apollo
apollo:
meta: http://localhost:8080
server:
port: 8081
-Dapollo.configService=http://localhost:8080 -Denv=DEV
配置步骤:
第二步:
import com.ctrip.framework.apollo.spring.annotation.EnableApolloConfig;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@EnableApolloConfig
@SpringBootApplication
public class ApolloApplication {
public static void main(String[] args) {
SpringApplication.run(ApolloApplication.class, args);
}
}
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@Value("${test-config}")
private String someConfigValue;
@GetMapping("/config")
public String getConfig() {
return someConfigValue;
}
}
参与评论
手机查看
返回顶部