๐ก ์ด ํฌ์คํ ์ ๋ก์ปฌ ํ๊ฒฝ์์ ํ๋ก์ ํธ๋ฅผ ๋์ปค ์ปจํ ์ด๋๋ก ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์ฑํ์์ต๋๋ค.
โช๏ธ Dockerfile์ ์ด์ฉํด ์ง์ MariaDB ํ๊ฒฝ์ ์ค์
- FROM mariadb:xx : MariaDB xx ๋ฒ์ ๊ธฐ๋ฐ์ผ๋ก ์ปจํ ์ด๋ ์์ฑ
- ENV : ์ปจํ ์ด๋ ์์ฑ ์ ๊ธฐ๋ณธ ํ๊ฒฝ๋ณ์ ์ค์ (DB ์์ฑ, ์ฌ์ฉ์ ์์ฑ ๋ฑ)
- EXPOSE : ์ปจํ ์ด๋ ๋ด๋ถ์์ ์ด๋ค ํฌํธ๋ฅผ ์ฌ์ฉํ ๊ฑด์ง ์ ์ธ
โช๏ธ ๋คํธ์ํฌ ์์ฑ
โ ์ปจํ ์ด๋ ๊ฐ ํต์ ์ ์์ ํ๊ณ ํธ๋ฆฌํ๊ฒ ํ๊ธฐ ์ํจ
โช๏ธ ์ด๋ฏธ์ง ๋น๋
โช๏ธ ๋ณผ๋ฅจ ์คํ
โ ์ฌ๋ฌ ์ปจํ ์ด๋ ๊ฐ ๋ฐ์ดํฐ ๊ณต์
์ฌ๋ฌ ์ปจํ ์ด๋๊ฐ ๋์ผํ ํ์ผ์ด๋ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํด์ผ ํ ๋ ๋ณผ๋ฅจ์ ์ฌ์ฉํ๋ฉด ๊ฐ๋จํ๊ณ ์์ ํจ
MariaDB์ ๋ชจ๋ ๋ฐ์ดํฐ๋ mysql-volume์ ์์ ํ๊ฒ ์ ์ฅ. ์ปจํ ์ด๋๋ฅผ ์ง์ฐ๊ณ ์๋ก ๋ง๋ค์ด๋ DB ๋ฐ์ดํฐ๋ ์ ์ง
โช๏ธ ์ปจํ ์ด๋ ์คํ
โ ์ด๋ฏธ์ง(Image)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์คํ๋๋ ์คํ ์ค์ธ ์ธ์คํด์ค
-d | ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํ |
--name | ์ปจํ ์ด๋ ์ด๋ฆ ์ง์ |
-p 8080:80 | ํธ์คํธ์ ์ปจํ ์ด๋ ํฌํธ ์ฐ๊ฒฐ |
-v | ๋ณผ๋ฅจ ๋ง์ดํธ (๋ฐ์ดํฐ ์ ์ฅ) |
--network | ์ฌ์ฉ์ ์ ์ ๋คํธ์ํฌ ์ฐ๊ฒฐ |
โช๏ธ๋ณผ๋ฅจ ์คํ
โช๏ธ ์ธํ ๋ฆฌ์ ์ด ํ๋ก์ ํธ๋ฅผ ์ปจํ ์ด๋๋ก ๋ณํ
Dockerfile์ IntelliJ ํ๋ก์ ํธ์ ์ถ๊ฐ
- ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๊ณ ์ปจํ ์ด๋๋ก ์คํ
- ์ ํ๋ฆฌ์ผ์ด์ ์ ๋์ปค ํ๊ฒฝ์์ ๊ตฌ๋
์ต์ด์ ์ง์ ์ค์ ํ mariadb dockerfile ํ๊ฒฝ์ ๋ง๊ฒ ์ธํ ๋ฆฌ์ ์ด ์์
jar ํ์ผ ์์ฑ ๋ฐ ์ด๋ฆ ๋ณ๊ฒฝ (onefit.jar) → Dockerfile ์คํ
โช๏ธ๋์ปค ์ปจํ ์ด๋ ์คํ
onefit์ด๋ผ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํํ๋ ์ปจํ ์ด๋๋ฅผ ์์ฑํ๋ฉฐ,
Docker ์ด๋ฏธ์ง ํ๊ทธ ์ค์
<none>:<none> → onefit:latest
onefit ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํํ๋ ์ปจํ ์ด๋ ์์ฑ
- ์ ๋ก๋ ๊ฒฝ๋ก๋ฅผ ๋ณผ๋ฅจ์ผ๋ก ๋ณด์กด
- MariaDB ๊ฐ์ ์ปจํ ์ด๋์ ๋คํธ์ํฌ๋ก ์ฐ๊ฒฐ
- ์น ์๋น์ค์ ์ธ๋ถ์์ localhost:9090์ผ๋ก ์ ์
-d | ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํ |
--name | ์ด๋ฆ ๋ถ์ฌ |
-v | ํ์ผ ๋ณด์กด (๋ณผ๋ฅจ ๋ง์ดํธ) |
--network | ๋ค๋ฅธ ์ปจํ ์ด๋์ ํต์ ๊ฐ๋ฅํ๊ฒ ํจ |
-p | ์ธ๋ถ์์ ์ ์ ๊ฐ๋ฅํ๊ฒ ํฌํธ ์ด๊ธฐ |
โช๏ธ๋ก์ปฌ ์ ์ ํ์ธ
์ปจํ ์ด๋ ์คํ ๋ช ๋ น์ด์์ ์ค์ ํ 9090 ํฌํธ๋ก ์ ์๋๋ ๊ฒ์ ํ์ธ
โช๏ธDocker desktop ์ปจํ ์ด๋ ํ์ธ
์คํ์ค์ธ ์ปจํ ์ด๋ ํ์ธ