์ปจํ ์ด๋๊ฐ ๊ฐ์ง ๋ฌธ์ ์
Docker ๋ฅผ ํ์ฉํ๋ฉด ํน์ ํ๋ก๊ทธ๋จ์ ์ปจํ ์ด๋๋ก ๋์ธ ์ ์์
์ด ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋๋ฉด ์๋ก์ด ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค์ด์ ์ปจํ ์ด๋ ์คํ์์ผ์ผํจ
์ด ๋ Docker๋ ๊ธฐ์กด ์ปจํ ์ด๋์์ ๋ณ๊ฒฝ๋ ๋ถ๋ถ์ ์์ ํ์ง ์๊ณ , ์๋ก์ด ์ปจํ ์ด๋๋ฅผ ๋ง๋ค์ด์ ํต์ฑ๋ก ๊ฐ์๋ผ์
์ด๋ ๊ธฐ์กด ์ปจใดํ ์ด๋๋ฅด ์๋ก์ด ์ปจํ ์ด๋๋ก ๊ต์ฒด๋๋ฉด ๊ธฐ์กด ์ปจํ ์ด๋์์ ๋ด๋ถ์ ์๋ ๋ฐ์ดํฐ๋ ์ญ์ ๋จ
-> ๋ง์ฝ MySql ์ ์คํ์ํค๋ ์ปจํ ์ด๋์๋ค๋ฉด MySQL ์ ์ ์ฅ๋์ด์๋ ๋ฐ์ดํฐ๋ ์ญ์ ๋จ
๋ฐ๋ผ์ ์ปจํ ์ด๋ ๋ด๋ถ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ์ญ์ ๋๋ฉด ์๋๋ ๊ฒฝ์ฐ์๋ ๋ณผ๋ฅจ์ด๋ผ๋ ๊ฐ๋ ์ ํ์ฉํจ
Docker Volume์ด๋?
๋์ปค ์ปจํ ์ด๋์์ ๋ฐ์ดํฐ๋ฅผ ์์์ ์ผ๋ก ์ ์ฅํ๊ธฐ ์ํ ๋ฐฉ๋ฒ
๋ณผ๋ฅจ์ ์ปจํ
์ด๋ ์์ฒด์ ์ ์ฅ ๊ณต๊ฐ์ ์ฌ์ฉํ์ง ์๊ณ , ํธ์คํธ ์์ฒด์ ์ ์ฅ ๊ณต๊ฐ์ ๊ณต์ ํด์ ์ฌ์ฉํ๋ ํํ
๋ช ๋ น์ด :
$ docker run -v [ํธ์คํธ์ ๋๋ ํ ๋ฆฌ ์ ๋๊ฒฝ๋ก]:[์ปจํ
์ด๋์ ๋๋ ํ ๋ฆฌ ์ ๋๊ฒฝ๋ก] [์ด๋ฏธ์ง๋ช
]:[ํ๊ทธ๋ช
]
- [ํธ์คํธ์ ๋๋ ํ ๋ฆฌ ์ ๋๊ฒฝ๋ก] ์ ๋ค๋ฅธ ๋๋ ํ ๋ฆฌ๊ฐ ์ด๋ฏธ ์กด์ฌํ ๊ฒฝ์ฐ, ํธ์คํธ์ ๋๋ ํ ๋ฆฌ๊ฐ ์ปจํ ์ด๋์ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ฎ์ด์์ด๋ค
-

์ ๋๋ ํ ๋ฆฌ๊ฐ ์กด์ฌํ์ง ์์ ๊ฒฝ์ฐ, ํธ์คํธ์ ๋๋ ํฐ๋ฆฌ ์ ๋ ๊ฒฝ๋ก์ ๋๋ ํฐ๋ฆฌ๋ฅผ ์๋ก ๋ง๋ค๊ณ ์ปจํ ์ด๋์ ๋๋ ํฐ๋ฆฌ์ ์๋ ํ์ผ๋ค์ ํธ์คํธ์ ๋๋ ํฐ๋ฆฌ๋ก ๋ณต์ฌํด์จ๋ค.
https://hub.docker.com/_/mysql
mysql - Official Image | Docker Hub
Quick reference Supported tags and respective Dockerfile links 9.2.0, 9.2, 9, innovation, latest, 9.2.0-oraclelinux9, 9.2-oraclelinux9, 9-oraclelinux9, innovation-oraclelinux9, oraclelinux9, 9.2.0-oracle, 9.2-oracle, 9-oracle, innovation-oracle, oracleโ 8
hub.docker.com
-e : ํ๊ฒฝ๋ณ์ ์ค์
MYSQL์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ต์ด์ ์ค์ ํ์ง ์์ผ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํจ
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
ํธ์คํธ ์ปดํจํฐ์ ์ํ๋ ๊ฒฝ๋ก์ MySql ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
$ cd /Users/jaeseong/Documents/Develop
$ mkdir docker-mysql # MySQL ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ถ์ ํด๋ ๋ง๋ค๊ธฐ
# docker run -e MYSQL_ROOT_PASSWORD=password123 -p 3306:3306 -v {ํธ์คํธ์ ์ ๋๊ฒฝ๋ก}/mysql_data:/var/lib/mysql -d mysql
$ docker run -e MYSQL_ROOT_PASSWORD=password123 -p 3306:3306 -v /Users/jaeseong/Documents/Develop/docker-mysql/mysql_data:/var/lib/mysql -d mysql
MySql์ ์ ์ํด์ ๋ฐ์ดํฐ ๋ฒ ์ด์ค ๋ง๋ค๊ธฐ
$ docker exec -it [MySQL ์ปจํ
์ด๋ ID] bash
$ mysql -u root -p
mysql> show databases;
mysql> create database mydb;
mysql> show databases;
์ปจํ ์ด๋ ์ข ๋ฃ ํ ๋ค์ ๋ง๋ค์ด๋ณด๊ธฐ
# ์ปจํ
์ด๋ ์ข
๋ฃ
$ docker stop [MySQL ์ปจํ
์ด๋ ID]
$ docker rm [MySQL ์ปจํ
์ด๋ ID]
# ์ปจํ
์ด๋ ์์ฑ
$ docker run -e MYSQL_ROOT_PASSWORD=password123 -p 3306:3306 -v /Users/jaeseong/Documents/Develop/docker-mysql/mysql_data:/var/lib/mysql -d mysql
$ docker exec -it [MySQL ์ปจํ
์ด๋ ID] bash
$ mysql -u root -p
mysql> show databases; # ์๊น ์์ฑํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๊ทธ๋๋ก ์กด์ฌํ๋ ๊ฑธ ํ์ธํ ์ ์๋ค.
์ปจํ ์ด๋ ์ญ์ ํ ๋ค์ ๋ง๋ค์ด๋ณด๊ธฐ
# ์ปจํ
์ด๋ ์ข
๋ฃ
$ docker stop [MySQL ์ปจํ
์ด๋ ID]
$ docker rm [MySQL ์ปจํ
์ด๋ ID]
# ๋น๋ฐ๋ฒํธ ๋ฐ๊ฟ์ ์ปจํ
์ด๋ ์์ฑ
$ docker run -e MYSQL_ROOT_PASSWORD=pwd1234 -p 3306:3306 -v /Users/jaeseong/Documents/Develop/docker-mysql/mysql_data:/var/lib/mysql -d mysql
$ docker exec -it [MySQL ์ปจํ
์ด๋ ID] bash
$ mysql -u root -p # ์ ์์ด ์ ๋จ...'Docker' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Next.js ๋ฅผ Docker๋ก ๋ฐฐํฌํ๊ธฐ (1) | 2025.03.22 |
|---|---|
| DockerFile? (0) | 2025.03.22 |
| Docker CLI (0) | 2025.03.16 |
| Docker ์ค์น (0) | 2025.03.15 |
| Docker , Container, Image ๋? (0) | 2025.03.15 |