임베디드 관련 카테고리/네이버 클라우드 플랫폼(NCP)
NCP 서버에서 Docker로 MySQL 설정 및 테스트하기
CBJH
2024. 12. 16. 15:20
728x90
반응형
이번 포스팅에서는 **Naver Cloud Platform(NCP)**의 우분투 서버에 Docker와 MySQL을 설치하고, 외부에서 MySQL Workbench로 접속하여 데이터베이스를 테스트하는 방법을 단계별로 안내해 드리겠습니다.
1단계: NCP 서버 설정 및 Docker 설치
1.1 NCP 서버에 SSH 접속하기
먼저, NCP에서 제공하는 공인 IP 주소를 사용해 SSH로 접속합니다.
ssh ncloud@[서버 IP 주소]
- Putty나 MobaXterm 같은 프로그램을 사용해서 원격 접속해도 됩니다.
1.2 Docker 및 Docker Compose 설치
Docker 설치
sudo apt update
sudo apt install -y docker.io
Docker Compose 설치
sudo apt install -y docker-compose
설치 확인
docker --version
sudo docker-compose --version
2단계: Docker Compose로 MySQL 설정
2.1 docker-compose.yml 파일 작성
작업 디렉토리에서 docker-compose.yml 파일을 생성합니다.
version: '3.1'
services:
mysql:
image: mysql:8.0.36
container_name: mysql_server
restart: always
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_DATABASE: test_db
MYSQL_USER: test_user
MYSQL_PASSWORD: test_password
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:
2.2 Docker Compose 실행
컨테이너를 실행합니다.
sudo docker-compose up -d
실행된 컨테이너 확인
sudo docker ps
3단계: MySQL Workbench로 외부에서 접속
3.1 MySQL Workbench 설치
- 공식 다운로드 페이지에서 설치합니다.
3.2 NCP 방화벽 설정
- NCP 서버 인바운드 규칙에 3306 포트를 허용합니다.
- 보안을 위해 내 PC의 공인 IP만 접근하도록 설정하면 더 안전합니다.
3.3 Workbench 설정
- MySQL Workbench를 실행합니다.
- 새 연결 추가 → 다음 정보를 입력합니다:
- Host: NCP 서버의 공인 IP 주소
- Port: 3306
- Username: test_user
- Password: test_password
- Test Connection을 클릭해 연결을 확인합니다.
4단계: 데이터베이스 및 테이블 생성
4.1 데이터베이스 선택
먼저 데이터베이스를 선택합니다.
USE test_db;
4.2 테이블 생성
예제 테이블 employees를 생성합니다.
CREATE TABLE employees (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
position VARCHAR(100),
salary DECIMAL(10, 2)
);
4.3 데이터 삽입
테이블에 데이터를 삽입합니다.
INSERT INTO employees (name, position, salary)
VALUES ('John Doe', 'Engineer', 75000.00);
5단계: 데이터 동기화 테스트
5.1 Docker MySQL CLI에서 확인
NCP 서버의 MySQL CLI로 접속해 데이터를 확인합니다.
sudo docker exec -it mysql_server mysql -u test_user -ptest_password -D test_db
SELECT * FROM employees;
5.2 Workbench와 CLI 동기화 테스트
- Workbench에서 데이터를 수정합니다.
- UPDATE employees SET salary = 80000 WHERE id = 1;
- CLI에서 다시 확인해 데이터가 실시간으로 적용되었는지 확인합니다.
Docker Compose란?
Docker Compose는 여러 Docker 컨테이너를 정의하고 관리하는 도구입니다. 복잡한 애플리케이션을 간편하게 실행할 수 있습니다.
핵심 기능
- 간편한 설정: docker-compose.yml 파일을 통해 모든 설정을 관리합니다.
- 컨테이너 관리: 여러 컨테이너를 동시에 실행, 중지할 수 있습니다.
- 서비스 연결: 네트워크 설정 없이 컨테이너 간 통신이 가능합니다.
명령어 정리
1. Docker Compose 실행
sudo docker-compose up -d
2. 실행된 컨테이너 확인
sudo docker ps
3. 로그 확인
sudo docker-compose logs
4. 컨테이너 중지
sudo docker-compose down
마치며
이번 포스팅에서는 NCP 서버에 Docker를 사용해 MySQL을 설치하고 Workbench를 통해 외부 접속 및 데이터 동기화를 테스트했습니다. Docker Compose를 사용하면 이러한 환경 구성을 빠르고 쉽게 할 수 있습니다.
궁금한 점이나 추가 설정이 필요하시면 댓글로 남겨주세요! 😊