1. 해당 게시물과 연관된다.
https://julian5383.tistory.com/38?category=880390
[Spring] 다양한 연관관계 처리
- 예제 프로젝트 작성 1) application.properties 설계 spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver spring.datasource.url = jdbc:mysql://localhost/jpa_ex?characterEncoding=utf8&serve..
julian5383.tistory.com
2. 해당 Dockerfile을 만들고 다음처럼 Boot04에 복사한다.
FROM openjdk:11-jdk
ADD target/boot04-0.0.1-SNAPSHOT.jar boot-app.jar
EXPOSE 8080
ENTRYPOINT ["java","-Dfile.encoding=UTF8","-jar","boot-app.jar"]
3. application.properties으로 들어가 localhost를 boot-mysql:3306으로 바꾼다.
4. boot04파일에 오른쪽마우스 클릭을 하고 Run As - Run Configurations으로 들어간다.
5. Goal을 package, Profiles의 내용이 있으면 지우고 Skip Tests를 클릭하고 Run을 한다. 그렇게 하면 target에 파일 4개가 생길 것이다.
6. 포트번호 3306 충돌을 막기 위해서 제어판-관리-서비스로 들어가서 MySQL80이 시작유형이 수동으로 되어있는지 확인한다. 만약 자동으로 되어있으면 시작 유형을 수동으로 바꾸어 준다.
7. PowerShell을 관리자 권한으로 들어가고 경로를 boot04로 맞춘다.
8.
docker run -it --name boot-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=jpa_ex -e MYSQL_PASSWORD=root mysql:latest을 입력한다.
MYSQL_ROOT_PASSWORD와 MYSQL_PASSWORD에는 자신의 MySQL Workbence 비밀번호를 입력하고 MYSQL_DATABASE에는 자신의 데이터베이스 이름을 입력한다.
9. Thymeleaf에 들어가서 Database Development로 들어가서 Database Connections의 Spring MySQL을 연결시킨다. 만약 jpa_ex가 뜨면 성공한 것이다.
10. 만약 에러가 뜬다면 다음을 확인해 보기를 권장한다. Spring MySQL에서 Properties으로 들어가서 Driver Properties에서 데이터베이스 명과 URL 그리고 패스워드가 올바르게 장입되었는지 점검한다.
- 해당 게시물은 boot04에서 변형한 것이다. 포트번호를 변경했기 때문에 URL에서 localhost포트번호를 localhost:3306을 입력하고 Test Connection을 눌러서 연결이 잘 되었는지 확인해 본다.
11. 8번의 구문이 실행되고 있는 상태에서 다른 PowerShell을 관리자 권한으로 실행한 다음 boot04로 이동한다. 그리고 docker container ls을 입력해서 컨테이너가 실행중인지 확인한다.
12. <docker image build -t app:latest .> 명령어로 이미지를 생성한다.
13. <docker run -it --name boot-app -p 8080:8080 --link boot-mysql:database app:latest> 구문으로 Dockerfile로 샹성된 이미지를 실행시킨다.
14. 그렇게 되면 스키마에서 tbl_members와 tbl_profile에 내용들이 들어간다.
(해당 테이블에서 내용이 들어가는 이유는 맨위에 링크를 걸어놓은 게시물 참조)
'Docker' 카테고리의 다른 글
[Docker] Dockerfile로 이미지 생성하기 (3) (0) | 2022.01.31 |
---|---|
[Docker] 도커란? (0) | 2022.01.29 |
[Docker] Dockerfile로 이미지 생성하기 (0) | 2022.01.15 |
[Docker] 컨테이너 이미지 관리 (0) | 2022.01.15 |
[Docker] 도커 설치방법 (0) | 2022.01.06 |