임베디드 관련 카테고리/네이버 클라우드 플랫폼(NCP)

NCP 서버에서 Docker로 MySQL 설정 및 테스트하기

CBJH 2024. 12. 16. 15:20
728x90
반응형

이번 포스팅에서는 **Naver Cloud Platform(NCP)**의 우분투 서버에 DockerMySQL을 설치하고, 외부에서 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 설정

  1. MySQL Workbench를 실행합니다.
  2. 새 연결 추가 → 다음 정보를 입력합니다:
    • Host: NCP 서버의 공인 IP 주소
    • Port: 3306
    • Username: test_user
    • Password: test_password
  3. 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 동기화 테스트

  1. Workbench에서 데이터를 수정합니다.
  2. UPDATE employees SET salary = 80000 WHERE id = 1;
  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를 사용하면 이러한 환경 구성을 빠르고 쉽게 할 수 있습니다.

궁금한 점이나 추가 설정이 필요하시면 댓글로 남겨주세요! 😊