본문 바로가기

MSA

46. docker container 만들기(rabbitmq, config server)

1. rabbitmq

https://registry.hub.docker.com/_/rabbitmq/

rabbitmq  docker 링크에서 docker hub로 연결

2. rabbitmq bridge network에 생성

docker run -d --name rabbitmq --network shop-network -p 15672:15672 -p 5672:5672 -p 15671:15671 -p 5671:5671 -p 4369:4369 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:management

docker container를 다운받으며 백그라운드 모드로 rabbitmq의 이름으로 shop-network에 해당 포트들로 포트포워딩 해서 생성됨

생성된 컨테이너의 네트웍을 살펴보면 172.18.0.2에 할당되었음을 알 수 있다

15672번 포트로 접속한 웹콘솔
생성시 지정한 계정과 비번으로 접속하면 정상 작동됨을 알 수 있다

3. config server docker로 만들기

docker file 생성

docker file 생성과 함께 keystore에 만들었던 암호화 private키를 root에 넣는다

bootstrap.yml의 location을 컨테이너 내부 파일로 지정한다

docker container 에서 git의 정보를 사용하기 위해 git repository로 변경하고

브랜치 정보와 비번(유효한 git의 token, 중요)을 기록한다(유효 토큰이 아니면 not authorized exception이 발생한다)

토큰 발행은 git not authorized 해결법 참조

https://fomaios.tistory.com/entry/Git-Error-gitnot-authorized-%ED%95%B4%EA%B2%B0%EB%B2%95

gradle 빌드를 실행하여 jar를 생성하고

docker build를 실행

yonghee.kim@Yongheeui-MacBookPro MSA-config % docker build -t ks960427/config-ms:1.0 .

docker build
docker 계정에 올라간 이미지

docker config-ms image 실행

docker run -d -p 8888:8888 --network shop-network -e "spring.rabbitmq.host=rabbitmq" -e "spring.profiles.active=default" --name config-ms ks960427/config-ms:1.0

rabbitmq가 실행된 상태에서 config-ms 실행

docker network inspect shop-network을 확인하면 172.18.0.3에 config-ms 이름으로 할당됨을 알수 있다

docker logs config-ms를 확인하면 정상적인 부팅로그와 5672로 rabbitmq와 접속됨을 알수 있다

4. config server 접속확인

config server의 파일정보 확인(user-ms)