1. docker pull <image>
docker hub conatainer에서 등록된 mariaDB image를 가져온다.
$ docker pu ll mariadb
or
$ docker pull mariadb:<version>
내려받은 이미지는 다음의 명령어로 확인할 수 있다.
$ docker images
2. docker run
docker에서 내려받은 이미지를 실행하기 위해 (컨테이너) 실행을 한다.
기본 포맷은 다음과 같다.
$ docker run [<옵션>] <이미지 식별자> [<명령어>] [<인자>]
나는 다음과 같이 컨테이너를 띄웠다.
$ docker run -p 3306:3306 --name [DATABASE_NAME] -e MARIADB_ROOT_PASSWORD=1234 -d mariadb
이때 사용된 옵션 몇 가지를 소개한다.
-d
컨테이너를 백그라운드에서 실행해야 할 때 -d 옵션을 사용한다.
—-name
Docker 컨테이너를 제어할 때 컨테이너 ID를 사용하면 읽거나 기억하기가 어렵다.
--name 옵션을 사용해서 컨테이너에 이름을 부여해서 컨테이너를 식별할 수 있다.
-e
Docker 컨테이너의 환경변수를 설정한다.
그렇다면 다음과 같이 명령어를 사용할 수 있다.
> -e MARIADB_DATABASE={생성할DB명}
> -e MARIADB_USER={생성할 유저 명}
> -e MARIADB_PASSWORD={유저패스워드}
> -e MARIADB_ROOT_PASSWORD={루트패스워드}
-e 옵션을 사용하면 Dockerfile의 ENV 설정이 덮어씌워진다.
-p
-p 옵션은 호스트와 컨테이너 간의 포트 port bind에 사용된다.
(호스트 컴퓨터 포트) --bind-> (컨테이너에서 리스닝하고 있는 포트)
호스트 포트는 변경될 수 있지만, 컨테너의 포트는 이미지가 지정한 포트이므로 바꿀 수 없다.
3. docker ps
현재 실행 중인 컨테이너를 확인할 수 있다.
4-1. maria db 접속 - shell
root 계정으로 mariaDB에 접속한다.
$ sudo apt update
$ sudo apt install mariadb-client
$ mariadb -u root -p
4-2. maria db 접속 - docker GUI
올라간 컨테이너를 클릭하고 CLI로 접속
mariadb -u root -p
5. user 생성
> create user 'silly'@'localhost' identified by '1234';
> grant all privileges on *.* to 'silly'@'localhost';
> flush privlieges;
> 사용자인 silly를 만들어주고, 1234를 암호로 설정했다.
> 모든 db.모든 table의 모든 권한을 부여한다.
> 변경 사항 적용
6. DB tool 연결 (datagrip)
6. spring config
application.yml에 jpa 설정을 추가해준다.
spring:
datasource:
driver-class-name: "org.mariadb.jdbc.Driver"
url: jdbc:mariadb://localhost:3306/testDB
username: silly
password: 1234
jpa:
open-in-view: true
hibernate:
ddl-auto: create
show-sql: true
properties:
hibernate.format_sql: true
'Infra' 카테고리의 다른 글
AMI 만들기 (0) | 2023.01.17 |
---|---|
AWS RDB 연결하기 (0) | 2023.01.14 |
AWS IAM 지정하기 (0) | 2022.12.05 |
AWS 인스턴스 생성하기 (0) | 2022.12.05 |