1.데이버베이스란
데이터베이스는 데이터를 구조화하여 저장, 관리, 검색을 효율적으로 수행할 수 있도록 도와주는 시스템, 이를 통해 사용자는 다양한 형태의 정보를 쉽게 저장하고, 필요할 때 빠르게 접근하여 사용할 수 있다.
2.도커 이용한 Maria DB 설치
도커란?
도커는 컨테이너 기반의 오픈소스 가상화 플랫폼으로, 다양한 운영체제에서 여러 애플리케이션을 담을 수 있는 격리된 공간인 컨테이너를 제공한다.
각각의 격리된 여러개의 소프트웨어 컨테이너에는 ubuntu, centos등의 운영체제,
그리고 java, python, 아파치 웹서버나, mysql 같은 dbms 등의 프로그램들 까지도 담기게 된다.
도커 다운로드 및 설치
구글링
[Docker] 도커 시작하기 - 1. 도커 설치하기
도커(Docker)란? 도커는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈소스 프로젝트이다. 컨테이너란? 도커 컨테이너는 일종의 소프트웨어를
da2uns2.tistory.com
도커 Maria DB 설치 명령어
- docker pull mariadb:
- Docker Hub에서 최신 MariaDB 이미지를 다운로드합니다. 이 이미지는 MariaDB 서버를 실행하기 위해 필요한 모든 파일과 설정을 포함하고 있습니다.
- docker run —name mariadb -d -p 3306:3306 —restart=always -e MYSQL_ROOT_PASSWORD=root mariadb:
- 새로운 컨테이너를 생성하고 실행합니다. 이 컨테이너는 mariadb 이미지를 사용하며, 몇 가지 중요한 옵션을 포함합니다:
- —name mariadb: 컨테이너에 mariadb라는 이름을 지정합니다.
- -d: 컨테이너를 백그라운드에서 실행합니다.
- -p 3306:3306: 호스트의 3306 포트와 컨테이너의 3306 포트를 연결하여 외부에서 MariaDB에 접속할 수 있게 합니다.
- —restart=always: 컨테이너가 중지되면 자동으로 재시작합니다.
- -e MYSQL_ROOT_PASSWORD=root: root 사용자의 MariaDB 비밀번호를 root로 설정합니다.
- 새로운 컨테이너를 생성하고 실행합니다. 이 컨테이너는 mariadb 이미지를 사용하며, 몇 가지 중요한 옵션을 포함합니다:
- docker exec -it mariadb /bin/bash:
- 실행 중인 mariadb 컨테이너에 대한 Bash 셸을 열어, 사용자가 컨테이너 내부에서 명령을 직접 실행할 수 있게 합니다.
- mysql -u root -p:
- 컨테이너 내부에서 MariaDB 서버에 root 사용자로 로그인하는 명령입니다. 이 명령을 실행한 후 비밀번호를 입력하면 데이터베이스 시스템에 접근할 수 있습니다.
도커에서 Maria DB 설치시 발생한 에러 내용 정리
운영체제에 mysql 설치되어 있어 3306포트 충돌 도커가 해당 포트에 바인딩 할 수 없어 외부(3307) -> 내부(컨테이너 3306)으로 포트 변경
docker run --name mariadb -d -p 3307:3306 --restart=always -e MYSQL_ROOT_PASSWORD=root mariadb
mysql -u root -p 실행시 bash: mysql: command not found 에러 발생
MariaDB 컨테이너에서 MySQL 클라이언트를 설치 누락되어 발생
패키지 목록 업데이트 후
apt-get update
MySQL 클라이언트 설치
apt-get install default-mysql-client
3.느낀점
도커는 처음 사용해 보았다
기회가 된다면 Flask로 만든 서버를 컨테이너화 시켜 재배포 해보고 싶다.
DB는 리마인드
'클라우딩 어플리케이션 엔지니어링 TIL > 3주차' 카테고리의 다른 글
[파트9] HTML 두번째 (0) | 2024.04.24 |
---|---|
[파트8] HTML 첫번째 (0) | 2024.04.23 |
[파트7] 환경실습(vscode) (0) | 2024.04.23 |
[파트4] Node.js에 db연동 준비(npm 사용) (0) | 2024.04.23 |
[파트2] Node.js의 이해 (0) | 2024.04.22 |