π οΈ[κ°λ° λꡬ λ° νκ²½] DataGripμΌλ‘ μμ±ν MySQL DBλ₯Ό Docker μ΄λ―Έμ§λ‘ λ§λ€κΈ°.
β 1οΈβ£ MySQL λ°μ΄ν° λ€ν(Export)
- βοΈ
mysqldumpλͺ λ Ήμ΄λ₯Ό μ¬μ©νμ¬ MySQL λ°μ΄ν°λ₯Ό λ€ννλ€.mysqldump -u root -p --databases article > article.sql - βοΈ
-u root: MySQL μ¬μ©μλͺ . - βοΈ
-p: λΉλ°λ²νΈ μ λ ₯ μμ². - βοΈ
--databasese: νΉμ λ°μ΄ν°λ² μ΄μ€ μ ν. - βοΈ
article.sql: λ°μ΄ν° λ€ν νμΌλͺ .
β 2οΈβ£ Dockerfile μμ±.
- βοΈ MySQLμ κΈ°λ°μΌλ‘ ν Docker μ΄λ―Έμ§λ₯Ό λ§λ€κΈ° μν Dockerfileμ μμ±.
- βοΈ Dockerfile μμ:
```dockerfile
FROM mysql:8.0.38
# νκ²½ λ³μ μ€μ
ENV MYSQL_DATABASE=article# λ€νλ SQL νμΌ λ³΅μ¬
COPY article.sql /docker-entrypoint-initdb.d/# MySQL ν¬νΈ λ ΈμΆ
EXPOSE 3306
``` - βοΈ Dockerfile μμ:
- βοΈ μ€λͺ
:
- βοΈ
FROM mysql:8.0.38: MySQL 8.0.38 μ΄λ―Έμ§ μ¬μ©. - βοΈ
ENV: νκ²½ λ³μ μ€μ . - βοΈ
COPY: λ€ν νμΌμ MySQL μ΄κΈ°ν λλ ν 리μ 볡μ¬. - βοΈ
/docker-enrtypoint-initdb.d/: λλ ν°λ¦¬λ 컨ν μ΄λκ° μμλ λ SQL μ€ν¬λ¦½νΈλ₯Ό μλμΌλ‘ μ€ν.
- βοΈ
β 3οΈβ£ Docker μ΄λ―Έμ§ λΉλ.
- βοΈ Dockerfileμ΄ μλ λλ ν°λ¦¬λ‘ μ΄λν ν, Docker μ΄λ―Έμ§λ₯Ό λΉλ.
docker build .
β 4οΈβ£ Dockerfileμ μμΉ.
π μ€λͺ .
- βοΈ Dockerfileμ μ¬μ©μκ° μ§μ μμ±ν΄μΌ ν¨.
- βοΈ MySQL 곡μ μ΄λ―Έμ§(mysql:8.0.38)μλ Dockerfileμ΄ ν¬ν¨λμ΄ μμ§ μμΌλ©°, μ¬μ©μμ μꡬμ¬νμ λ§κ² 컀μ€ν°λ§μ΄μ§ν΄μΌ ν¨.
π Dockerfile μμ± μμΉ.
- βοΈ Dockerfileμ μ£Όλ‘ λ€μκ³Ό κ°μ μμΉμ μμ±λ¨.
- βοΈ νλ‘μ νΈ λ£¨νΈ λλ ν°λ¦¬
- βοΈ Docker κ΄λ ¨ μ€μ λλ ν°λ¦¬ (μ: docker/)
- βοΈ μμ νλ‘μ νΈ κ΅¬μ‘°:
kobe-board/ βββ docker/ β βββ Dockerfile β Dockerfile μμ± β βββ backup.sql β MySQL λ€ν νμΌ (μ ν μ¬ν) β βββ docker-compose.yml (μ ν μ¬ν) βββ service/ β βββ article/ β βββ comment/ βββ common/
- βοΈ μμ νλ‘μ νΈ κ΅¬μ‘°:
β 5οΈβ£ Dockerfile μμ±.
π νλ‘μ νΈ λ£¨νΈ λλ ν°λ¦¬λ‘ μ΄λ.
- βοΈ
cd /Users/kobe/Desktop/kobe-board
π docker λλ ν°λ¦¬ μμ±(μ ν μ¬ν).
- βοΈ
mkdir docker cd docker
π Dockerfile μμ±.
- βοΈ
vi Dockerfile
π Dockerfile λ΄μ© μμ±.
- βοΈ μμ Dockerfile:
```dockerfileMySQL 곡μ μ΄λ―Έμ§ μ¬μ©
FROM mysql:8.0.38
νκ²½ λ³μ μ€μ
ENV MYSQL_DATABASE=article
SQL λ€ν νμΌ λ³΅μ¬ (μ ν μ¬ν)
COPY article.sql /docker-entrypoint-initdb.d/
MySQL ν¬νΈ λ ΈμΆ
EXPOSE 3306
```
β 6οΈβ£ μ£Όμμ¬ν
- βοΈ 1. Dockerfile μμΉ
- βοΈ Dockerfileμ
docker buildλͺ λ Ήμ΄λ₯Ό μ€ννλ λλ ν°λ¦¬μ μ‘΄μ¬ν΄μΌ ν¨.
- βοΈ Dockerfileμ
- βοΈ 2. SQL λ€ν νμΌ
- βοΈ article.sql νμΌμ΄ μ‘΄μ¬νμ§ μλλ€λ©΄ ν΄λΉλΆλΆ(COPY article.sql)μ μλ΅νκ±°λ μμ ν΄μΌ ν¨.
- βοΈ 3. λλ ν°λ¦¬ κΆν
- βοΈ MySQL λ°μ΄ν°κ° μ μ₯λ λλ ν°λ¦¬λ Dockerκ° μ κ·Ό κ°λ₯ν΄μΌ ν¨.