Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
Tags
- jsp
- 코딩테스트준비
- javascript
- generic class
- JPA
- Docker Compose
- 개발자취업
- 코딩테스트
- dbms
- til
- 99클럽
- 99클럽 #코딩테스트준비 #개발자취업 #항해99 #til
- Java
- mysql
- DB
- 크루스칼
- sql
- 알고리즘
- 코테
- 가상컴퓨팅
- 공개키 암호화
- spring
- 자료구조
- 정렬
- python
- js
- Algorithm
- Sort
- 항해99
- 위상정렬
Archives
- Today
- Total
PLOD
[Docker] Docker Container 실행 (local server) 본문

1, docker-compose.yml 파일 작성
services:
mysql:
image: mysql:8.0
container_name: #{container_name}
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: #{MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: #{MYSQL_DATABASE}
MYSQL_USER: #{MYSQL_USER}
MYSQL_PASSWORD: #{MYSQL_PASSWORD}
volumes:
- mysql_data:/var/lib/mysql
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
volumes:
mysql_data:
2. Docker 컨테이너 실행
docker-compose.yml에 정의된 MySQL, Redis 등의 컨테이너를 백그라운드에서 실행합니다.
docker-compose up -d
실행 상태 확인
docker ps
3. MySQL 컨테이너 접속
실행 중인 DB 컨테이너 내부로 접속하여 데이터베이스 콘솔을 실행합니다.
MySQL
docker exec -it 컨테이너 명 mysql -u 데이터베이스 명 -p
비밀번호 입력 후 powershell 관리자모드에서 MySQL CLI에 접속할 수 있습니다.
데이터베이스 목록 조회
SHOW DATABASES;
테이블 목록 조회
테이블은 Hibernate를 통한 entity 정보에 따른 테이블 생성
SHOW TABLES;
4. Redis 컨테이너 실행
Redis를 별도 컨테이너로 실행합니다.
Redis 최초 생성 및 실행
docker run -d --name 레디스 명 -p 6379:6379 redis
기존 Redis 컨테이너 재실행
docker start 레디스 명
Redis 실행 상태 확인
docker ps
5. Spring Boot 애플리케이션 실행
일반 실행
./gradlew bootRun
오류 로그까지 확인하며 실행
./gradlew bootRun --stacktrace
Gradle Daemon 없이 실행
./gradlew bootRun --no-daemon
개발 중 예상치 못한 Gradle 캐시 문제 발생 시 --no-daemon 옵션을 활용하면 도움이 됩니다.
설정 파일(application.yml) 변경 시
설정 파일 수정 후 기존 빌드 결과물이 남아 있는 경우 캐시를 제거합니다.
./gradlew clean
이후 다시 애플리케이션을 실행합니다.
./gradlew bootRun
DB 스키마 변경 시
테이블 구조(Entity, DDL 등)가 변경된 경우 기존 Docker Volume을 삭제하고 새로 생성합니다.
docker-compose down -v
컨테이너 재생성
docker-compose up -d
-v 옵션은 Docker Volume까지 삭제하므로 기존 데이터가 모두 제거됩니다.
로컬 MySQL 사용 중일 경우
Docker MySQL과 로컬 MySQL이 동시에 실행되면 포트 충돌(3306)이 발생할 수 있습니다.
Windows 환경에서 MySQL 서비스 종료
net stop MySQL
MySQL 서비스 시작
net start MySQL
'computer science > Cloud computing' 카테고리의 다른 글
| [k8s]kubernetes(쿠버네티스) (0) | 2024.10.18 |
|---|---|
| [Docker] docker와 docker - compose (0) | 2024.08.14 |
| [Hadoop] YARN : Yet Another Resource Negotiator (0) | 2022.12.15 |
| [Spark] Apache - Spark (1) | 2022.12.15 |
| [MapReduce] HIVE and pig (0) | 2022.12.15 |
Comments