Rabbitmq
Rabbitmq를 Docker에서 실행
Rabbitmq 다운로드 사이트에 들어가면 Docker에서 어떻게 써야하는지 명령어가 나와있다.
docker run -d --name rabbitmq --network ecommerce-network -p 15672:15672 -p5672:5672\
-p 5671:5671 -p 15671:15671 -p 4369:4369 -e RABBITMQ_DEFAULT_USER=guest\
-e RABBITMQ_DEFAULT_PASS=guest rabbitmq:management
-d는 백그라운드에서 실행옵션
--name은 컨테이너 이름지정 옵션
--network는 docker의 어떤 network에서 사용하겠다는 옵션
-p는 포트바인딩해주는 옵션 Rabbitmq는 5개의 옵션사용
-e 환경변수 지정 : 여기서는 기본 아이디와 기본 패스워드 지정
docker run 명령어를 실행한 뒤
docker ps -a 옵션실행으로 컨테이너가 실행되어있는지 확인
localhost:5672로 접속하면 도커에서 실행된 rabbitmq의 ui로 진입됨
포트바인딩을 해줬기 때문
Configuration-service
Service들의 설정을 위해 개발한 서비스를 Docker에서 실행
해당 Service에서는 apiEncrytion.jks를 만들어 사용했기 때문에 해당 Key파일도 Docker에 올려서 사용해야한다.
1. Dockerfile을 만들어서 docker실행과정에 대해 적고
2. pom.xml에서 Docker에서 사용할 버전으로 변경해준다.
3. mvn 빌드 (mvn clean compile로 jar파일 빌드)
4. docker 빌드 (docker build -t {image_name} .)
5. docker push로 도커허브로 업로드(어디서든지 내려받아 사용가능)
6. docker run실행
docker run -d -p 8888:8888 --network ecommerce-network \
-e "spring.rabbitmq.host=rabbitmq" \
-e "spring.profiles.active=default" \
--name config-service config-service:1.0
-e옵션으로 application.yml에 설정되어있는 환경설정값을 바꾸는 것도 가능하다. 다만 정확히 써줘야한다.
Discovery-service
유레카 서버로 빌드 과정은 위와 같음.
docker run -d -p 8761:8761 --network ecommerce-network \
-e "spring.cloud.config.uri=http://config-service:8888" \
--name discovery-service discovery-service:1.0
docker ps -a 명령어로 제대로 포트가 바인딩되었고 실행중인지 확인해보고
문제가있다면 docker logs {container_name} 명령어로 무슨문제가 발생했는지 확인해보자.
'Computer Science > MSA' 카테고리의 다른 글
Monolithic Architecture란 무엇인가? (0) | 2021.09.02 |
---|---|
081321 MSA_SpringCloud (0) | 2021.08.13 |
081121 MSA_SpringCloud (0) | 2021.08.11 |
081021 MSA_SpringCloud (0) | 2021.08.10 |
080921 MSA_SpringCloud (0) | 2021.08.10 |