์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ์๊ณ ๋ฆฌ์ฆ
- OS
- constraints
- interrupt
- DBCP
- ์๊ณ ๋ฆฌ์ฆ #๋ฐฑ์ค #1717
- Spring
- Git
- dml
- error
- DataSource
- JDBC
- where
- ํ์
- springboot
- Transaction
- GPG
- docker
- ConnectionPool
- ๋ฐฑ์ค
- MySQL
- aws
- MariaDB
- select
- database
- oauth2
- greedy
- Operating System
- DDL
- hikaricp
- Today
- Total
did_story
[MariaDB] Docker๋ก MariaDB ์คํ ๋ฐ ์ ์ํ๊ธฐ ๋ณธ๋ฌธ
[MariaDB] Docker๋ก MariaDB ์คํ ๋ฐ ์ ์ํ๊ธฐ
์ด์ ์์ 2025. 1. 3. 15:29ํด๋น ๊ธ์ ์ ์๊ฐ ๋ ์ด์ ๋งค๋ฒ ์ฐพ์๋ณด๊ธฐ ํ๋ค์ด์(?) ์ ๋ฆฌํ๋ ๊ธ์์ ๋ฐํ๋๋ค.ใ
ใ
MariaDB Container ์ค์น
1. Docker image
docker pull mariadb
ํด๋น ๋ช ๋ น์ด๋ก docker Hub์ MariaDB Image๋ฅผ ๋ค์ด๋ก๋ํฉ๋๋ค.
Docker Hub๋ Docker ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๊ณ ๋ฐฐํฌํ๋ ๊ณต์ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์ ์ฅ์ ์๋น์ค์ ๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ์์ ์ด ๋ง๋ Docker Image๋ฅผ ์ ๋ก๋ํ๊ณ ๊ณต์ ํ๊ฑฐ๋, ๋ค๋ฅธ ์ฌ๋์ด ์ ๋ก๋ํ Docker Image ๋ํ ๊ฒ์ํ๊ณ ๋ค์ด๋ก๋๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
Docker Image๋ ์ปจํ ์ด๋ ์คํ์ ๊ธฐ๋ฐ์ผ๋ก, ์ ํ๋ฆฌ์ผ์ด์ ์คํ์ ํ์ํ ๋ชจ๋ ๊ฒ์ ํฌํจํ๋ ํ ํ๋ฆฟ์ ๋๋ค. ์ฝ๊ธฐ ์ ์ฉ์ด๋ผ๋ ์ ๊ณผ, Dockerfile๋ก ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๊ฑฐ๋ Docker Hub์์ ์ด๋ฏธ์ง๋ฅผ ๋ฐ์ ์ปจํ ์ด๋๋ฅผ ์คํํ ์ ์์ต๋๋ค.
docker images
ํด๋น ๋ช ๋ น์ด๋ก ์ค์น๋ Docker Image๋ค์ ํ์ธ ํ ์ ์์ต๋๋ค.
2. MariaDB ์ปจํ ์ด๋ ์์ฑ ๋ฐ ์คํ
docker run --name my-container --restart=always -p 3306:3306 -e MARIADB_ROOT_PASSWORD=my-secret-password -d mariadb
์ ๋ช ๋ น์ด๋ฅผ ํตํด MariaDB Docker Image๋ฅผ ์ฌ์ฉํ์ฌ ์ปจํ ์ด๋๋ฅผ ์์ฑํ๊ณ ์คํํฉ๋๋ค. ์ด๋ ๋ช ๋ น์ด ๊ฐ๊ฐ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
docker run | Docker ์ปจํ ์ด๋๋ฅผ ์์ฑํ๊ณ ์คํํฉ๋๋ค |
-p | ํธ์คํธ์ ์ปจํ
์ด๋ ๊ฐ์ ํฌํธ๋ฅผ ๋งคํํฉ๋๋ค ์์ } ํธ์คํธ 3306 ๊ณผ ์ปจํ ์ด๋ 3306 ๋งตํ. |
--name | ์ปจํ ์ด๋์ ์ง์ ํ ์ด๋ฆ์ ๋๋ค. |
-d | ์ปจํ ์ด๋๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋(Detached) ๋ชจ๋๋ก ์คํํฉ๋๋ค. |
-restart=always | ๋์ปค๊ฐ ์คํ๋ ๋ ํญ์ ์ปจํ ์ด๋๋ฅผ ์คํ |
-e MYSQL_ROOT_PASSWORD | -e : ๊ธฐํ ํ๊ฒฝ ์ค์ , MYSQL_ROOT_PASSWORD : container์ ๋น๋ฐ๋ฒํธ ์ค์ |
mariadb |
์คํํ Docker ์ด๋ฏธ์ง์ ์ด๋ฆ์ ๋๋ค. |
// ์คํ ์ค์ธ ์ปจํ
์ด๋๋ง ์กฐํ
docker ps
// ๋ชจ๋ ์ปจํ
์ด๋ ์กฐํ
docker ps -a
์์ ๋ช ๋ น์ด๋ก ์คํ ์ค์ธ ์ปจํ ์ด๋ ํน์ ๋ชจ๋ ์ปจํ ์ด๋์ ๋ํด ์กฐํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
3. MariaDB์ ์ ์ํ๊ธฐ
์์ ๋ช ๋ น์ด๋ฅผ ํตํด ์ปจํ ์ด๋๊ฐ ์คํ ๋์๋ค๋ฉด,
docker exec -it my-container mariadb -uroot -p
์์ ๋ช ๋ น์ด๋ฅผ ํตํด MariaDB ์๋ฒ์ ์ ์ ํ ์ ์์ต๋๋ค.
"mariadb -uroot -p" ํด๋น ๋ช ๋ น์ด๋ก root ์ฌ์ฉ์๋ก ๋ก๊ทธ์ธ ํ๊ฒ ๋๊ณ ์ํธ๋ฅผ ์ ๋ ฅํ๋ผ๋ ๋ฉ์์ง๋ ๋์ค๋ฉด, "my-secret-password"๋ฅผ ์ ๋ ฅํ๋ฉด ๋ฉ๋๋ค.
MariaDB ์ฌ์ฉ์ ์ถ๊ฐ ๋ฐ user ๊ถํ ์ค์ .
ํด๋น ๋ถ๋ถ์ ํด์ฃผ์ด์ผ Datagrip์ด๋ DBeaver์ ์ ์ ๋ก database์ ์ ๊ทผ์ด ๊ฐ๋ฅํฉ๋๋ค.
์ ๊ฐ ์ด๊ฑธ ๊น๋นกํ๊ณ ์ ์๋๋ 20๋ถ ๊ณ ๋ฏผํ๋ ์ ์ด ๋ง์์..
1. ์ฌ์ฉ์ ์ถ๊ฐ
CREATE USER 'user_name'@'ip_address' IDENTIFIED BY 'user_password';
์์ ๋ช ๋ น์ด๋ ์ฌ์ฉ์๋ฅผ ์ถ๊ฐํ๋ ๋ช ๋ น์ด๋ก
- 'user_name' : ์๋ก ๋ง๋ค ์ฌ์ฉ์์ ์ด๋ฆ.
- 'ip_address' : ํด๋น ์ฌ์ฉ์๊ฐ ์ ๊ทผํ ์ ์๋ ํธ์คํธ, ex) 'localhost', '%' ('%'๋ก ์ง์ ํ๋ฉด ๋ชจ๋ ํธ์คํธ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทผ ๊ฐ๋ฅ)
- 'user_password' : ์ฌ์ฉ์์ ํจ์ค์๋ ์ค์ .
2. ์ฌ์ฉ์์๊ฒ ๊ถํ ๋ถ์ฌ .
GRANT ALL PRIVILEGES ON *.* TO 'tester'@'%' IDENTIFIED BY 'your_password';
์์ ๋ช ๋ น์ด๋ ์ฌ์ฉ์์๊ฒ ๊ถํ์ ๋ถ์ฌํ๋ ๋ช ๋ น์ด๋ก
- *.* : ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ชจ๋ ํ ์ด๋ธ์ ์๋ฏธํฉ๋๋ค.
- 'tester'@'%' : ๋ชจ๋ ํธ์คํธ์์ ์ ์ ๊ฐ๋ฅํ ์ฌ์ฉ์ tester๋ฅผ ์๋ฏธํฉ๋๋ค.
- IDENTIFIED BY 'your_password' : ๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํฉ๋๋ค.
3. ๋ณ๊ฒฝ์ฌํญ ์ ์ฉ
FLUSH PRIVILEGES;
์์ ๋ช ๋ น์ด๋,
๋ณดํต์ INSERT, DELETE, UPDATE๋ฅผ ํตํด ์ฌ์ฉ์๋ฅผ ์ถ๊ฐ, ์ญ์ , ๊ถํ ๋ณ๊ฒฝ ๋ฑ์ ์ํํ์์ ๋ ์ด ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ์ํ๊ธฐ ์ํ์ฌ ์ฌ์ฉํ๋ค. ์ด ๋ FLUSH PRIVILEGES๋ grant ํ ์ด๋ธ์ reloadํจ์ผ๋ก์ ๋ณ๊ฒฝ ์ฌํญ์ ์ฆ์ ๋ฐ์ํ๋๋ก ํ๋ค. ํด๋น ๋ถ๋ถ์์ grant ํ ์ฌ์ฉํ์ง ์์๋ ๋์ง๋ง, ๋ค์ ๊ณผ์ ์์ ์งํ์ด ์๋ ์ **"ํน์ ๋ชจ๋ฅด๋ ์คํ"**ํด๋ณด๋๋ก ํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด FLUSH PRIVILEGES๋ ๊ต์ฅํ ์ฑ๋ฅ์ ์ํฅ์ ์ค๋๋ค. ๋ฐ๋ผ์ ์ต๊ด์ ์ผ๋ก ์ฌ์ฉํ์ง๋ ์๊ธธ ๋ฐ๋๋๋ค.
์ฌ๊ธฐ๊น์ง ํ์ จ๋ค๋ฉด mariadb์ ์ ์ฐ๊ฒฐ์ด ๋์ค ๊ฒ์ด๋ผ ๋ฏฟ์ต๋๋ค.
Docker์ ๋ค์ํ ๋ช ๋ น์ด๋ค
docker --help ๋ช ๋ น์ด๋ก ์ฌ๋ฌ docker ๋ช ๋ น์ด๋ฅผ ๋ณผ ์ ์์ง๋ง, ์ ๊ฐ ๊ทธ๋ฅ ์ฐ๋ ๋ช ๋ น์ด๋ง ๋ฐ๋ก ์ ๋ฆฌํด ๋ณด๋ ค๊ณ ํฉ๋๋ค.
(gpt ํ์ ๋น๋ฆฐ๊ฑด ์๋น๋ฐ)
docker search [์ด๋ฏธ์ง ์ด๋ฆ] | Docker Hub์์ ์ด๋ฏธ์ง ๊ฒ์ | docker search nginx |
docker pull [์ด๋ฏธ์ง ์ด๋ฆ:ํ๊ทธ] | ์ด๋ฏธ์ง ๋ค์ด๋ก๋ | docker pull ubuntu:20.04 |
docker images | ๋ก์ปฌ์ ์ ์ฅ๋ ์ด๋ฏธ์ง ๋ชฉ๋ก ํ์ | - |
docker rmi [์ด๋ฏธ์ง ์ด๋ฆ ๋๋ ID] | ๋ก์ปฌ ์ด๋ฏธ์ง ์ญ์ | docker rmi ubuntu |
docker run [์ต์ ] [์ด๋ฏธ์ง ์ด๋ฆ] | ์ปจํ ์ด๋ ์์ฑ ๋ฐ ์คํ | docker run -it ubuntu |
docker ps | ์คํ ์ค์ธ ์ปจํ ์ด๋ ๋ชฉ๋ก ํ์ | - |
docker ps -a | ๋ชจ๋ ์ปจํ ์ด๋(์ข ๋ฃ๋ ์ปจํ ์ด๋ ํฌํจ) ๋ชฉ๋ก ํ์ | - |
docker start [์ปจํ ์ด๋ ID ๋๋ ์ด๋ฆ] | ์ ์ง๋ ์ปจํ ์ด๋ ์คํ | docker start my-container |
docker stop [์ปจํ ์ด๋ ID ๋๋ ์ด๋ฆ] | ์คํ ์ค์ธ ์ปจํ ์ด๋ ์ ์ง | docker stop my-container |
docker exec -it [์ปจํ ์ด๋ ์ด๋ฆ] bash | ์คํ ์ค์ธ ์ปจํ ์ด๋ ๋ด๋ถ๋ก ์ง์ | docker exec -it my-container bash |
docker rm [์ปจํ ์ด๋ ID ๋๋ ์ด๋ฆ] | ์ปจํ ์ด๋ ์ญ์ | docker rm my-container |
docker logs [์ปจํ ์ด๋ ID ๋๋ ์ด๋ฆ] | ์ปจํ ์ด๋ ์คํ ๋ก๊ทธ ํ์ธ | docker logs my-container |
docker build -t [์ด๋ฏธ์ง ์ด๋ฆ:ํ๊ทธ] . | Dockerfile์ ๊ธฐ๋ฐ์ผ๋ก ์ด๋ฏธ์ง ๋น๋ | docker build -t myapp |
docker volume ls | Docker ๋ณผ๋ฅจ ๋ชฉ๋ก ํ์ | - |
docker network ls | Docker ๋คํธ์ํฌ ๋ชฉ๋ก ํ์ | - |
docker-compose up | docker-compose.yml ํ์ผ์ ๊ธฐ๋ฐ์ผ๋ก ๋ชจ๋ ์๋น์ค ์์ | - |
docker-compose down | ๋ชจ๋ ์๋น์ค๋ฅผ ์ค์งํ๊ณ ๋คํธ์ํฌ ๋ฐ ์ปจํ ์ด๋ ์ ๋ฆฌ | - |
docker system prune | ์ฌ์ฉํ์ง ์๋ ์ปจํ ์ด๋, ๋คํธ์ํฌ, ์ด๋ฏธ์ง, ๋ณผ๋ฅจ ์ ๋ฆฌ | - |
docker system df | Docker ๋์คํฌ ์ฌ์ฉ๋ ํ์ | - |
docker update --restart=always [์ปจํ ์ด๋ ์ด๋ฆ] | ์ปจํ ์ด๋์ ์๋ ์ฌ์์ ์ค์ | docker update --restart=always my-container |
'BackEnd๐ > DB & SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[MySQL / DDL] ์ ์ฝ์กฐ๊ฑด(Constraints)์ ๊ดํ์ฌ ! (1) | 2025.01.17 |
---|---|
[MySQL / DDL] CREAET ๋ถํฐ MODIFY ๊น์ง! (์ ์ฝ ์กฐ๊ฑด x) (0) | 2025.01.13 |
[MySQL / DML] SELECT, ๋ฐ์ดํฐ ์กฐํ ๋ฐฉ๋ฒ (2) | 2025.01.07 |