๊ด€๋ฆฌ ๋ฉ”๋‰ด

๐‘†๐‘ข๐‘›๐‘ โ„Ž๐‘–๐‘›๐‘’ ๐‘Ž๐‘“๐‘ก๐‘’๐‘Ÿ ๐‘Ÿ๐‘Ž๐‘–๐‘›โœง

[Docker] Docker Compose ํŒŒ์ผ๋กœ ๋‹ค์ค‘ ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ ๊ตฌ์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ(feat. ์˜ค๋ฅ˜๋“ค) ๋ณธ๋ฌธ

๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ด๐Ÿ’ป/๐ƒ๐จ๐œ๐ค๐ž๐ซ

[Docker] Docker Compose ํŒŒ์ผ๋กœ ๋‹ค์ค‘ ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ ๊ตฌ์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ(feat. ์˜ค๋ฅ˜๋“ค)

๐ŸคRyusun๐Ÿค 2024. 3. 10. 03:17

ํ•„์ž๋Š” ํ”„๋กœ์ ํŠธ์—์„œ redis ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด docker-compose ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ redis ์ปจํ…Œ์ด๋„ˆ๋ž‘ mysql ์ปจํ…Œ์ด๋„ˆ 2๊ฐœ๋ฅผ ๋„์šธ๋ ค๊ณ  ํ•œ๋‹ค.

์šฐ์„  ๋„์ปค์™€ ๋„์ปค ์ปดํฌ์ฆˆ์˜ ์ฐจ์ด๋ฅผ ์•Œ์•„๋ณด์ž.

 

Docker

  • Docker๋Š” ๋‹จ์ผ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋นŒ๋“œ, ์‹คํ–‰ ๋ฐ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ
  • Docker ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€ ๋นŒ๋“œ, ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰, ๋กœ๊ทธ ํ™•์ธ, ์ปจํ…Œ์ด๋„ˆ ์ค‘์ง€ ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹จ์ผ ์›น ์„œ๋ฒ„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋„์šธ ๋•Œ Docker๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Docker Compose

  • Docker Compose๋Š” ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ •์˜ํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ
  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์„œ๋น„์Šค, ๋„คํŠธ์›Œํฌ, ๋ณผ๋ฅจ ๋“ฑ์„ ํฌํ•จํ•˜๋Š” ๋ณต์žกํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์Šคํƒ์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • docker-compose.yml ํŒŒ์ผ์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„œ๋น„์Šค ๊ตฌ์„ฑ์„ ๊ธฐ์ˆ ํ•˜๊ณ , ์ด ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ•œ ๋ฒˆ์— ๋„์šธ ์ˆ˜ ์žˆ๋‹ค.

 


 

 

๊ทธ๋Ÿผ ๋„์ปค ์ปดํฌ์ฆˆ๋ฅผ ํ™œ์šฉํ•ด์„œ ์ปจํ…Œ์ด๋„ˆ๋“ค์„ ๋„์›Œ๋ณด์ž!

Docker ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•œ ์„ค์ • ํŒŒ์ผ์ธ Dockerfile๊ณผ ์ปจํ…Œ์ด๋„ˆ๋กœ ์ด๋ฃจ์–ด์ง„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์Šคํƒ์„ ์ •์˜ํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์„ค์ • ํŒŒ์ผ์ธ docker-compose.yml๋ฅผ ๋งŒ๋“ค์–ด์ค˜์•ผํ•œ๋‹ค.

ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ ์•„๋ž˜์— database, redis ๋””๋ ‰ํ† ๋ฆฌ ํ•˜์œ„์— Dockerfile์„ ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค.

 


FROM 

๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด์„œ ์–ด๋–ค ๋„์ปค ๋ฒ ์ด์Šค ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ• ์ง€ ๋ช…์‹œํ•œ๋‹ค.
ENV TZ=Asia/Seoul 
์ปจํ…Œ์ด๋„ˆ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ UTC ์‹œ๊ฐ„์„ ๋ฐ”๋ผ๋ณด๊ณ  ์žˆ์œผ๋‹ˆ๊น ํ•œ๊ตญ์‹œ๊ฐ„์œผ๋กœ ์„ค์ •ํ•ด์ค€๋‹ค.

 


๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ฐ„ํ˜น ํ•œ๊ธ€์ด ๊นจ์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋””๋ ‰ํ† ๋ฆฌ ํ•˜์œ„, config ๋””๋ ‰ํ† ๋ฆฌ ์•„๋ž˜ mysql.cnf ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•ด์ฃผ์ž.

 

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake

[mysqldump]
default-character-set=utf8mb4



์ด์ œ ๋„์ปค ์ปดํฌ์ฆˆ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์ž.

๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์— docker-compose-local ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค.

ํ•ด๋‹น ํŒŒ์ผ์— ์‹คํ–‰์‹œํ‚ฌ ๋ ˆ๋””์Šค์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ปจํ…Œ์ด๋„ˆ ์ •๋ณด๋ฅผ ๋ช…์‹œํ•ด์ค€๋‹ค.

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

volume ๋ถ€๋ถ„์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ•œ๊ธ€์ด ๊นจ์ง€์ง€ ์•Š๊ฒŒ ์„ค์ •ํ•œ mysql.cnfํŒŒ์ผ ์œ„์น˜๋ฅผ ๋ช…์‹œํ•œ๋‹ค. ์ด ๋ถ€๋ถ„์„ ์ถ”๊ฐ€ํ•ด์„œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ฐธ์กฐํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ดˆ๊ธฐํ™”๋ฅผ ํ• ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ๋จผ์ € ํ˜ธ์ŠคํŠธ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ์ž‘์„ฑํ•œ ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  : ๋„์ปค๊ฐ€ ๋ฐ”๋ผ๋ณด๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ๊นƒํ—ˆ๋ธŒ์— ์˜ฌ๋ผ๊ฐ€๋Š” ์•ˆ๋˜๋Š” ์ •๋ณด๋ผ์„œ ์™ธ๋ถ€์—์„œ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋กœ ์ฃผ์ž…ํ•ด์ค€๋‹ค. ์ด์ œ .env ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด ์™ธ๋ถ€์— ๊ณต๊ฐœ๋˜์ง€ ๋ง์•„์•ผํ•  ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๊ณ  .gitignore์—๋„ ์ถ”๊ฐ€ํ•ด์ค˜์•ผํ•œ๋‹ค.
์ž‘์„ฑํ•œ ํ•ด๋‹น ํŒŒ์ผ์€ ๋„์ปค ์ปดํฌ์ฆˆ๊ฐ€ ์‹คํ–‰์ด ๋ ๋•Œ ์ž๋™์œผ๋กœ ์ด ํŒŒ์ผ์„ ์ฐธ์กฐํ•ด์„œ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ ธ์˜ค๊ฒŒ ๋œ๋‹ค. 

๋กœ์ปฌ์—์„œ ์‚ฌ์šฉํ•  DB, Redis ๋„์ปคํŒŒ์ผ์„ ์ž‘์„ฑ์„ ํ–ˆ์œผ๋‹ˆ, ๋„์ปค ์ปดํฌ์ฆˆ ํŒŒ์ผ์„ ์‹คํ–‰์‹œ์ผœ ์ •์ƒ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋ ˆ๋””์Šค๊ฐ€ ์ปจํ…Œ์ด๋„ˆ์— ์˜ํ•ด์„œ ์‹คํ–‰์ด ๋˜๋Š”์ง€ ํ™•์ธ์„ ํ•ด๋ณด์ž.
์šฐ์„  ๋„์ปค๊ฐ€ ์‹คํ–‰๋˜์–ด์•ผํ•˜๊ณ  ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์ž.

docker-compose -f docker-compose-local.yml up

 

docker-compose up : Docker Compose๋กœ ์ •์˜๋œ ์„œ๋น„์Šค๋“ค์„ ์‹œ์ž‘ํ•˜๊ณ  ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์‹คํ–‰ํ•˜๋Š” ๋ช…๋ น์–ด
-f : ์–ด๋–ค ๋„์ปค ์ปดํฌ์ฆˆ ํŒŒ์ผ์„ ์‹คํ–‰์‹œํ‚ฌ๊ฒƒ์ธ๊ฐ€ ์ง€์ •

ํ•„์ž๋Š” ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰์‹œ์ผฐ๋Š”๋ฐ...์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.

Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

 

mysql์ด๋ž‘ ์—ฐ๊ฒฐ์ด ์•ˆ๋œ๋‹ค๋Š”๋œป์ธ๋ฐ ์ €๋ฒˆ์— ๋น„์Šทํ•œ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์—ˆ์„๋•Œ ํฌํŠธ๋ฅผ ๋ณ€๊ฒฝํ•ด์„œ ํ•ด๊ฒฐํ•œ์ ์ด ์žˆ์–ด ํฌํŠธ๋ฅผ ๋ณ€๊ฒฝํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค.

ํ•„์ž๋Š” 3308๋กœ ๋ฐ”๊ฟ”์ค„๊ฒƒ์ด๋‹ค.

์šฐ์„  ๋„์ปค ์ปดํฌ์ฆˆ ํŒŒ์ผ์—์„œ mysql ํฌํŠธ๋ฅผ 3308:3308 ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.

๊ทธ๋ฆฌ๊ณ  mysql_root_password๋„ ์šฐ์„  ๋ช…์‹œํ•ด์ค€๋‹ค. ์ถ”ํ›„ mysql ์˜ค๋ฅ˜๋กœ ์ธํ•ด mysql ์ปจํ…Œ์ด๋„ˆ๋กœ ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋‹ค.

 

 

 

๋‹ค์‹œ docker-compose -f docker-compose-local.yml up ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ–ˆ๋”๋‹ˆ ์ž˜ ์‹คํ–‰๋๋‹ค.

 

๊ทธ๋ฆฌ๊ณ ์„œ mysql workbench๋กœ ๊ฐ€์„œ ์—ฐ๊ฒฐ์‹œ๋„ํ•ด๋ณด๋‹ˆ๊น

Communications link failure. The last packet sent successfully to the server was 0 milliseconds age. The driver has not received any packets from the server.

์—๋Ÿฌ๋œจ๋ฉด์„œ ์—ฐ๊ฒฐ์ด ์•ˆ๋˜์—ˆ๋‹ค...;;ใ… ใ… 

์‹คํ–‰์ค‘์ธ mysql ์ปจํ…Œ์ด๋„ˆ 3308ํฌํŠธ๋กœ ์ž˜ ์—ฐ๊ฒฐ๋˜์žˆ๋Š”๋ฐ...ใ… ใ… 

 

 

์—ด์‹ฌํžˆ ์‚ฝ์งˆํ•˜๊ณ ์„œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์„ ์ฐพ์•˜๋‹ค. ํ•„์ž์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋ฉด ์•„๋ž˜ ๋ธ”๋กœ๊ทธ๋ฅผ ํ†ตํ•ด ํ•ด๊ฒฐํ• ์ˆ˜ ์žˆ๋‹ค.

https://hy-ung.tistory.com/82

 

Docker ์— mysql ์„ค์น˜ ํ›„ workbench ์—ฐ๊ฒฐ ์˜ค๋ฅ˜!?

Docker ์—์„œ mysql ์ปจํ…Œ์ด๋„ˆ ์„ค์ • ์‹œ ๊ธฐ๋ณธ ํฌํŠธ(3306) ์ด ์•„๋‹Œ ๋‹ค๋ฅธ ํฌํŠธ๋กœ ์„ค์ •ํ•˜์˜€๋‹ค. ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด์„œ workbench ์—์„œ ์—ฐ๊ฒฐ ์‹œ๋„๋ฅผ ํ–ˆ๋Š”๋ฐ ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ฒผ๋‹ค. docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=1

hy-ung.tistory.com

 

 

์œ„์˜ ๋ฐฉ๋ฒ•์„ ์ ์šฉํ•˜๊ณ  ๋‹ค์‹œ mysql ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰์‹œ์ผฐ๋”๋‹ˆ ๋“œ๋””์–ด ์ž˜ ์‹คํ–‰๋œ๋‹ค.!!!

 

 

 

์ด์ œ ์Šคํ”„๋ง๋ถ€ํŠธ์™€ ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•ด๋ณด์ž.

application.yml์—์„œ db ์™€ redis ์„ค์ •์„ ์ ์–ด์ค€๋‹ค.

 

 

์„ค์ •ํ•ด์ค€ํ›„ ์Šคํ”„๋ง๋ถ€ํŠธ๋ฅผ ์‹คํ–‰์‹œํ‚ค๋ฉด ์ž˜ ์‹คํ–‰๋œ๋‹ค.

mysql workbench๋„ ์—ฐ๊ฒฐํ•ด๋ณด๋ฉด ์ž˜ ์—ฐ๊ฒฐ๋œ๋‹ค.

 

 

 

 

ํ•œ๋‹ฌ ์ŠคํŠธ๋ ˆ์Šค ํ•˜๋ฃจ๋งŒ์— ๋ฐ›์•—๋‹ค...ใ…Ž

๋!!!ใ