1. config-service Container 생성

docker run -d -p 8888:8888 --network mood-network -e "spring.profiles.active=prod” --name config-service seojeonghyeon0630/config-service:0.0.1

생성한 Network에 Config서버 이미지를 실행한다.

  • -d : 백그라운드 실행
  • -p : 포트명 (in:out)
  • -e : 환경변수 설정

seojeonghyeon의 GitHub(Private) Repository : Mood-Config를 확인하면 3가지(default, dev, prod)로 업로드 하였다.

알맞는 설정에 맞춰 선택하여 해당 환경변수를 유동적으로 변경해주면 된다.

2. discovery-service Container 생성

docker run -d -p 8761:8761 --network mood-network \\
-e "spring.cloud.config.uri=http://config-service:8888" \\
--name mood-web seojeonghyeon0630/mood-web:0.0.1

3. API Gateway-service Container 생성

docker run -d -p 8000:8000 --network mood-network \\
-e "spring.cloud.config.uri=http://config-service:8888" \\
-e "eureka.client.serviceUrl.defaultZone=http://mood-web:8761/eureka/" \\
--name apigateway-service seojeonghyeon0630/apigateway-service:0.0.1

4. MariaDB Conatiner 실행 및 권한 설정

docker run -d -p 3306:3306 --network mood-network --name mariadb seojeonghyeon0630/my_mariadb:0.0.1

내려받은 MariaDB 이미지를 토대로 Bridge Network에 포함시켜서 컨테이너를 생성한다.

docker exec -it mariadb /bin/bash

컨테이너 외부에서 접근 가능하게 설정하기 위해

데이터들이 온전하게 잘 들어갔는지 확인하기 위해 컨테이너 내부로 접근한다.

mysql -hlocalhost -uroot -p

MariaDB 로그인을 시도한다.

127.0.0.1은 외부 접근 설정을 해줘야 사용 가능하기 때문에 현재는 사용할 수 없다.

grant all privileges on *.* to 'root'@'%' identified by '비밀번호';

Database 중에 mysql, 사용하려는 Database로 접근해서 권한을 부여한다.

부여가 완료되었다면, 데이터베이스 내용들이 잘 들어가 있는지 검토한다.

5. 이외의 service

docker run -d --network mood-network \\
--name user-service \\
-e "spring.cloud.config.uri=http://config-service:8888" \\
-e "eureka.client.serviceUrl.defaultZone=http://mood-web:8761/eureka/" \\
-e “spring.datasource.url=jdbc:mariadb://mariadb:3306/mooddb” \\
-e "logging.file=/api-logs/users-ws.log" \\
seojeonghyeon0630/user-service:0.0.1

 

 

해당 글은 Notion에 정리한 글을 옮긴 글입니다.

https://seojeonghyeon0630.notion.site/Docker-Document-2734a3999d674848b49fbfce3639a178

+ Recent posts