티스토리 뷰
이번 시간부터는 중복되는 부분은 간단하게 코드만 첨부하겠습니다.
먼저 E-commerce Service의 프로젝트 폴더에서 작업하겠습니다.
#pom.xml
<groupId>com.example</groupId>
<artifactId>ecoomerce</artifactId>
<version>1.0</version>
<name>ecoomerce</name>
#application.yml
server:
port: 8761
spring:
application:
name: discoveryservice
cloud:
config:
url: http://127.0.0.1:8888
name: ecommerce
eureka:
client:
register-with-eureka: false
fetch-registry: false
배포하면서 ConfigServer와 연결시킬예정이기 때문에 config uri을 붙혀줍니다. 후에 따로 docker build 시 uri값을 docker에 맞게 설정해줄것이라 일단은 Default IP로 둡니다.
#Jar File Compile
cd [e-commerce Application 위치 이동]
mvn clean compile package -DskipTests=true
#Dockerfile
FROM openjdk:17-ea-11-jdk-slim
VOLUME /tmp
COPY target/ecoomerce-1.0.jar DiscoveryService.jar
ENTRYPOINT ["java","-jar","DiscoveryService.jar"]
#Dockerfile Build
docker build --tag ggpark0315/discovery-service:1.0 .
#Push to DockerHUB
이제 Dockerfile을 HUB에 올릴려 합니다.
docker push ggpark0315/discovery-service:1.0
PUSH통해서 올린 뒤 저번에 올렸던 user-service 위에 discovery-service가 있는 것을 알 수 있습니다.
마찬가지로 저번에 작성한 config-service도 올려줍니다. 해당 커맨드는 어느 위치에서든 실행됩니다. Docker라는 Application 안에 존재하는 정보이니까요!
docker push ggpark0315/config-service:1.1
만약 따로 만든 버젼이 있다면, 정확하게 명시해줘야햐아합니다. : 뒤에 오는 1.1처럼 저는 1.0버젼과 1.1버젼이 있어서 따로 관리중입니다.
docker run -d -p 8761:8761 --network ecommerce-network -e "spring.cloud.config.uri=http://config-service:8888" --name discovery-service ggpark0315/discovery-service:1.0
그리고 config server와 연동을 위한 옵션으로 아래와 같은 내용을 붙혀줬는데
-e "spring.cloud.config.uri=http://config-service:8888"
config-service는 Eureka-Server를 통해서 연동될 것이기 때문에 Container의 Name을 통해서 해당 URI에 연결될 수 있습니다. 해당 설정을 한 것입니다!
여기까지 진행 후 Container르 살펴보면 RabbitMQ와 Config-Service 그리고 discovery-service까지 총 세개의 Container가 UP상태라면, 성공입니다.
마치며...
음 솔직히 별로 쓸말이 없네요... 사실 똑같은 작업의 반복입니다. 다만 각 서비스별로 연동되는 서비스가 다를 수도 있고, Port도 다르기 때문에 해당 설정을 하는 정도입니다. 다만 해당작업의 반복을 통해서 숙달하는 과정이라고 생각이 듭니다.
감사합니다.
- Total
- Today
- Yesterday
- Kafka Connect
- 운동
- JWT
- kafka
- 빅-오
- 미래의나에게동기부여
- MariaDB
- Spring + ELK
- Logstash to ElasticSearch
- UserService
- consumer
- github
- prometheus
- Feign
- producer
- 운동일기
- Logstash 활용
- LoadBalancer
- zipkin
- MSA
- elasticSearch
- rabbitmq
- 루틴기록
- git
- ACTUATOR
- docker
- springcloud
- config
- Gateway
- 오늘저녁 삼겹살
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |