์˜ค๋žœ๋งŒ์— ํฌ์ŠคํŒ… ํ•˜๋„ค์š”.


์ž, ์˜ค๋Š˜์€ ์œˆ๋„์šฐ์—์„œ ๋„์ปค๋ฅผ ์ด์šฉํ•ด์„œ 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๋ฌธ ์ž…๋ ฅํ•ด์„œ ์‹คํ–‰ํ•ด๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค~


์ด์ƒ์œผ๋กœ ์˜ค๋Š˜ ํฌ์ŠคํŒ…์„ ๋งˆ์นฉ๋‹ˆ๋‹ค. ์ง‘์— ๊ฐˆ ์‹œ๊ฐ„์ด ๋‹ค ๋˜์–ด์„œ ๋„ˆ๋ฌด ๋นจ๋ฆฌ ์“ฐ๋‹ค๋ณด๋‹ˆ ๋Œ€์ถฉ ์“ฐ๊ฒŒ ๋˜๋„ค์š”.


๊ถ๊ธˆํ•œ ์ ์ด๋‚˜ ์ž˜ ์•ˆ๋˜์‹œ๋Š” ๋ถ„๋“ค ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์‹œ๋ฉด ๋น ๋ฅธ ๋‹ต๋ณ€ ๋‚จ๊ฒจ๋“œ๋ฆด๊ฒŒ์š”~ ใ…Žใ…Ž