์ค๋๋ง์ ํฌ์คํ ํ๋ค์.
์, ์ค๋์ ์๋์ฐ์์ ๋์ปค๋ฅผ ์ด์ฉํด์ PostgreSQL ์ค์นํ๊ณ ์ ์ํด๋ณด๋๋ก ํ ๊ฒ๋๋ค.
์ ๋์ปค์ ์ค์นํ๋๊ตฌ์?
docker๋ฅผ ์ด์ฉํ๋ฉด ์ ๋ง ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๋ค์ํ ํ๊ฒฝ์ ๊ตฌ์ฑํ ์ ์๋ค๋ ์ ๋ง ์ ๋ง ํฐ ์ฅ์ ์ด ์๊ธฐ ๋๋ฌธ์ด์ฃ .
๊ฐ์ฅ ๋จผ์ PC์ ๋์ปค๋ฅผ ์ค์นํด์ผ ๊ฒ ์ง์.
์ด๋ฒ ํฌ์คํ ์์๋ ๋์ปค ์ค์น ๋ถ๋ถ์ ๊ฑด๋๋ฐ๋ ๊ฒ์ผ๋ก ํ๊ฒ ์ต๋๋ค.
๊ตฌ๊ธ๋งํ๋ฉด ์์ฒญ ๋ง์ด ๋์ฌ๊ฑฐ๊ฑฐ๋ ์. ๊ทธ๊ฑธ ์ฐธ๊ณ ํ์๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์๋์ฐ์๋ ์๋์ฐ์ฉ ์ธ์คํจ๋ฌ๋ฅผ ์ด์ฉํ๋ฉด ๊ธ๋ฐฉ ์ค์น๋ฅผ ํ ์ ์์ผ๋๊น์.
์ผ๋จ ์ ํ๊ฒฝ์ ์๋์ฐ8์๋ค๊ฐ ๋์ปค๋ฅผ ์๋์ฐ ์ธ์คํจ๋ฌ๋ฅผ ์ด์ฉํด์ ์ค์น๋ฅผ ํ ์ํ์ ๋๋ค.
์ฌ์ค ๋์ปค ์กฐ๊ธ ๋ง์ ธ๋ณด์ ๋ถ๋คํํ ๋ ์์ฒญ ์ฌ์ด ์ผ์ด ๋๊ฒ ์ง๋ง ์ฒ์ ํด๋ณด์๋ ๋ถ๋คํํ ๋ ์กฐ๊ธ ์ด๋ ค์ธ ์๋ ์์ต๋๋ค.
๋ค์ ์์์ ๋ฐ๋ผ์ ์งํํด๋ณด๋๋ก ํ์ฃ .
1. cmd ์ฐฝ์์ docker ๊ฐ ์ ๋๋ก ์ค์น๋์๋์ง ํ์ธ
2. docker๋ฅผ ์ด์ฉํด์ postgreSQL ์ค์น ๋ฐ ๋ฐ๋ชฌ ํํ๋ก ์คํ
3. DBeaver ๋ฐ์ดํฐ ๋ฒ ์ด์ค ๊ด๋ฆฌ ํด์ ์ด์ฉํ์ฌ ์ ์ ๋ฐ dml๋ฌธ ์คํ
์, ๊ทธ๋ผ 1๋ฒ ๋ถํฐ ํด๋ณผ๊น์?
์ผ๋จ cmd์ฐฝ์ ๋์๋๋ค. ์ด๋ป๊ฒ ๋์ฐ๋์ง ๋ชจ๋ฅด์๋ ๋ถ๋ค์ ์๋์ฐํค๋ฅผ ํ๋ฒ ๋๋ฅธ ๋ค์ cmd ์ ๋ ฅํ๊ณ ์ํฐ ์น์๋ฉด ๋ฉ๋๋ค.
(์๋์ฐ 7 ์ดํ์ธ ๊ฒฝ์ฐ์๋ ์๋์ฐํค + c ๋ฅผ ๋๋ฌ์ ์คํ ์ฐฝ์ ๋์ด๋ค์ cmd ๋ผ๊ณ ์ ๋ ฅํด์ฃผ์๋ฉด ๋ ๊ฒ๋๋ค.)
์์ ๊ฐ์ ํ๋ฉด์ด ๋์์ผ๋ฉด ์ด์ docker ๋ผ๊ณ ์น๊ณ ์ํฐ๋ฅผ ์นฉ๋๋ค.
์ ์ฌ์ง์ฒ๋ผ ์ต์ ๋ชฉ๋ก์ด ์ฃผ๋ฃจ๋ฃจ๋ฃฉ ๋์์ฃผ๋ฉด ์ ๋๋ก ์ค์น๊ฐ ๋๊ฒ๋๋ค.
์ด์ ์๋ ๋ช ๋ น์ด๋ฅผ ์คํ์์ผ ์ฃผ์ธ์
docker run --name myPostgreSQL -e POSTGRES_USER=GilDong -e POSTGRES_PASSWORD=1234 -d -p 5432:5432 postgres
์ ๋ช ๋ น์ด๋ postgresql ์ต์ ๋ฒ์ ์ ๋ค์ด๋ก๋ ๋ฐ์์ ๋ก์ปฌ PC์ 5432 ํฌํธ์ postgresql ์ปจํ ์ด๋์ 5432 ํฌํธ๋ฅผ ์ฐ๊ฒฐ์์ผ์ฃผ๊ณ myPostgreSQL ์ด๋ผ๋ ์ด๋ฆ์ ์ปจํ ์ด๋๋ฅผ ์คํ์์ผ์ค๋๋ค.
-d ์ต์ ์ ๋ฐ๋ชฌ์ผ๋ก ๋์ฐ๋ผ๋ ์๋ฏธ์ ๋๋ค.
-e POSTGRES_USER=GilDong -e POSTGRES_PASSWORD=1234 ์ต์ ์ GilDong์ด๋ผ๋ ์ด๋ฆ์ 1234 ๋น๋ฒ์ ๊ฐ๋ ์๋ก์ด ์ฌ์ฉ์๋ฅผ ์์ฑํ๋ผ๋ ์๋ฏธ์ ๋๋ค.
๊ฐ ์ต์ ์ ๋ํ ์ค๋ช ์ docker help run ์ ์คํ์ํค๋ฉด ํ์ธ ํ์ค ์ ์์ต๋๋ค.
docker run --help ๋ผ๊ณ ํ์ ๋ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ํ์ธ ํ ์ ์์ต๋๋ค.
๋ง์ฝ, ๋ค์ด๋ก๋ ๋ฐ์ง ๋ชปํ๊ณ ์ด์ํ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค๋ฉด ํธ๋ฌ๋ธ์ํ ์ ํด์ฃผ์ ์ผ ํฉ๋๋ค.
์ฐธ๊ณ ๋ก, ์๋์ฐ ํ๊ฒฝ์์๋ CMD์ฐฝ์ ๋์ธ ๋๋ง๋ค docker-machine ์ ์ด์ฉํด์ ํ๊ฒฝ๋ณ์ ์ค์ ์ ํด์ค์ผ docker์ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋๊ตฐ์.
์๋ฌ๋ฉ์์ง๋ฅผ ์ ์ฝ์ด๋ณด๊ณ ๊ตฌ๊ธ๋ง ์กฐ๊ธ๋ง ํ์๋ฉด ๊ธ๋ฐฉ ํด๊ฒฐํ ์ ์์ ๊ฒ๋๋ค.
์, ๊ทธ๋ผ ์ฌ๊ธฐ๊น์ง ์ ์ค์น๊ฐ ๋์ ๋ถ๋ค์ ์ด์ DBeaver์ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด์ ์คํ์ ์์ผ์ฃผ์ธ์.
๋ฌผ๋ก postgreSQL ๋๋ผ์ด๋ฒ๋ฅผ ์ง์ํ๋ ํด์ ์ฌ์ฉํด์ผ๊ฒ ์ฃ .
DBeaver ๊ฐ ์คํ์ด ๋์ผ๋ฉด ์๋ ์ฌ์ง์ฒ๋ผ ์ข์ธก ์๋จ์ ์์ด์ฝ์ ํด๋ฆญํด์ ์๋ก์ด ์ปค๋ฅ์ ์ ์์ฑํฉ๋๋ค.
์ฌ๊ธฐ์ Host์๋ docker-machine ip ๋ช ๋ น์ด๋ฅผ ์คํํด์ ๋์ค๋ ์์ดํผ๋ฅผ ์ ์ด์ฃผ์๋ฉด ๋ฉ๋๋ค.
๋ง์ฝ docker-machine ์ด ์ค์น๋์ด์์ง ์๋ค๋ฉด ๋ณ๋๋ก ์ค์น๋ฅผ ํด์ฃผ์ ์ผ ํฉ๋๋ค.
(์ฐธ๊ณ ๋ก docker-machine์ docker ํ๋ก์ ํธ ์ค ํ๋ ์ ๋๋ค.)
๊ทธ๋ฆฌ๊ณ database์ user์๋ ์์์ ์คํํ ๋ POSTGRES_USER ์ต์ ์ ์ฃผ์๋ ์ด๋ฆ์ ๋์ผํ๊ฒ ์ฃผ์๋ฉด ๋ฉ๋๋ค.
ํจ์ค์๋ ์ญ์ ๋ง์ฐฌ๊ฐ์ง๋ก POSTGRES_PASSWORD ์ต์ ์ ์ฃผ์๋ ๊ฐ์ ๊ทธ๋๋ก ์ฃผ์๋ฉด ๋ฉ๋๋ค.
์ ๋ ฅ์ ๋ค ํ๊ณ ๋ ๋ค ์ฐ์ธก ํ๋จ์ ์๋ Test Connection ... ๋ฒํผ์ ํด๋ฆญํ์ฌ ์ ์์ ์ผ๋ก ์ ์์ด ๋๋์ง ํ์ธํฉ๋๋ค.
์ ์์ ์ผ๋ก ์ฐ๊ฒฐ์ด ๋๋ค๋ฉด ์์ ๊ฐ์ ํ์ ์ฐฝ์ด ๋จ๊ฒ ๋ฉ๋๋ค.
๋ณ๊ฑฐ ์์ฃ ?
์ด์ Next ํด์ ์ปค๋ฅ์ ์์ฑํ๊ณ DML๋ฌธ ์ ๋ ฅํด์ ์คํํด๋ณด์๋ฉด ๋ฉ๋๋ค~
์ด์์ผ๋ก ์ค๋ ํฌ์คํ ์ ๋ง์นฉ๋๋ค. ์ง์ ๊ฐ ์๊ฐ์ด ๋ค ๋์ด์ ๋๋ฌด ๋นจ๋ฆฌ ์ฐ๋ค๋ณด๋ ๋์ถฉ ์ฐ๊ฒ ๋๋ค์.
๊ถ๊ธํ ์ ์ด๋ ์ ์๋์๋ ๋ถ๋ค ๋๊ธ ๋จ๊ฒจ์ฃผ์๋ฉด ๋น ๋ฅธ ๋ต๋ณ ๋จ๊ฒจ๋๋ฆด๊ฒ์~ ใ ใ