๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ

๐Ÿคท๐Ÿผ‍โ™€๏ธ Etc.../- linux, aws, docker, k8s39

[Docker] ๋„์ปคํŒŒ์ผ์—์„œ MAINTAINER๋Š” ๋” ์ด์ƒ ์“ฐ๋ฉด ์•ˆ๋œ๋‹ค๊ณ ? ๊ทธ๋Ÿผ ๋Œ€์‹  LABEL์„ ์“ฐ์ž ! ์–ด๋Š๋‚  ๊ฐœ๋ฐœ์„ ํ•˜๋˜ ๋„์ค‘ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ์‚ฌ์‹ค MAINTAINER ๋ช…๋ น์–ด ์ž์ฒด๋ฅผ ์ž˜ ์“ฐ์ง€ ์•Š์ง€๋งŒ, ๊ฐ‘์ž๊ธฐ ํ•œ ๋ฒˆ ์จ๋ณผ๊นŒ ํ•˜๊ณ  ์ผ๋Š”๋ฐ, Deprecated ๋œ ๊ฒƒ์ด๋‹ค. ๊ทธ ์ด์œ ๋ฅผ ์•Œ์•„๋ณด๋‹ˆ, ๊ณต์‹ ๋„์ปค ์„ค๋ช…์„œ์— ๋”ฐ๋ฅด๋ฉด MAINTAINER ๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ•œ๋‹ค. ์ด๋ฒˆ ์ฃผ์ œ์— ๋Œ€ํ•ด์„œ ์ด์•ผ๊ธฐ ํ•˜๊ธฐ ์œ„ํ•ด์„œ Dockerfile์˜ MAINTAINER์— ๋Œ€ํ•ด์„œ ๋จผ์ € ์•Œ์•„๋ณด์ž! Dockerfile ๋„์ปค๋Š” Dockerfile๋กœ ๋นŒ๋“œ ๋ช…๋ น์–ด์— ๋‚˜์˜จ ๋‚ด์šฉ์„ ํ† ๋Œ€๋กœ Build๋ฅผ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋กœ target Image๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋Š”๋ฐ, ์—ฌ๊ธฐ์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น์–ด๊ฐ€ ๋ฐ”๋กœ MAINTAINER ๋ช…๋ น์–ด ์ด๋‹ค. MAINTAINER ์ด MAINAINER ๋ช…๋ น์–ด๋Š” ์ƒ์„ฑ๋œ ์ด๋ฏธ์ง€์˜ ์ž‘์„ฑ์ž, ์ฆ‰ .. 2020. 12. 3.
[Docker] Dockerfile ์€ ๋ฌด์—‡์ผ๊นŒ? (2) - Dockering ์‹ค์Šต (๋ฆฌ์•กํŠธ์™€ nginx๋ฅผ ๋„์ปค๋ผ์ด์ง• ํ•˜๊ธฐ) ํ•ด๋‹น ๊ธ€์€ 2๋ถ€์ž‘์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. Dockerfile ์€ ๋ฌด์—‡์ผ๊นŒ? (1)- ๋„์ปค ํŒŒ์ผ์ด ๋ญ๊ณ  ์–ด๋–ค ๋ช…๋ น์–ด๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด์ž. ์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋„์ปค ํŒŒ์ผ์ด ๋ฌด์—‡์ด๊ณ  ์™œ ์‚ฌ์šฉํ•˜๋ฉฐ ์–ด๋–ค ๋ช…๋ น์–ด๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๋Š” ์‹œ๊ฐ„์ด๊ณ  Dockerfile ์€ ๋ฌด์—‡์ผ๊นŒ? (2)- Dockering ์‹ค์Šต (๋ฆฌ์•กํŠธ์™€ nginx๋ฅผ ๋„์ปค๋ผ์ด์ง• ํ•˜๊ธฐ)์€ 1๋ถ€์ž‘์—์„œ ๋ฐฐ์šด ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์‹ค์ œ ์„œ๋น„์Šค๋ฅผ ๋„์ปค๋ผ์ด์ง• ํ•ด๋ณด๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ์„œ๋กœ ์˜์กดํ•˜๊ณ  ์žˆ๋Š” ๊ฐœ๋…์ด ์žˆ์œผ๋ฏ€๋กœ ํ•œ ๋ฒˆ ๊ฐ€๋ณ๊ฒŒ ์ฝ์–ด๋ณด์‹œ๋Š” ๊ฒƒ๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค :) ์ง€๋‚œ ์‹œ๊ฐ„์— ์šฐ๋ฆฌ๋Š” ๋„์ปค ํŒŒ์ผ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜๊ณ , ์–ด๋–ค ๋ช…๋ น์–ด๋“ค์ด ์žˆ๋Š”์ง€ ํ™•์ธํ–ˆ๋‹ค. ์ž ์‹œ ๋น ๋ฅด๊ฒŒ ์ง€๋‚œ ์‹œ๊ฐ„์˜ ๋‚ด์šฉ์„ ๋ณต์Šตํ•ด๋ณด์ž. Recap Dockerfile ๋„์ปคํŒŒ์ผ์ด๋ž€? ํ•˜๋‚˜์˜ ์™„์„ฑ๋œ ์ด๋ฏธ์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด.. 2020. 12. 1.
[Docker] Dockerfile ์€ ๋ฌด์—‡์ผ๊นŒ? (1) - ๋„์ปคํŒŒ์ผ์ด ๋ญ๊ณ  ์ž์ฃผ ์“ฐ์ด๋Š” ๋ช…๋ น์–ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ํ•ด๋‹น ๊ธ€์€ 2๋ถ€์ž‘์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. Dockerfile ์€ ๋ฌด์—‡์ผ๊นŒ? (1)- ๋„์ปค ํŒŒ์ผ์ด ๋ญ๊ณ  ์–ด๋–ค ๋ช…๋ น์–ด๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด์ž. ์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋„์ปค ํŒŒ์ผ์ด ๋ฌด์—‡์ด๊ณ  ์™œ ์‚ฌ์šฉํ•˜๋ฉฐ ์–ด๋–ค ๋ช…๋ น์–ด๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๋Š” ์‹œ๊ฐ„์ด๊ณ  Dockerfile ์€ ๋ฌด์—‡์ผ๊นŒ? (2)- Dockering ์‹ค์Šต (๋ฆฌ์•กํŠธ์™€ nginx๋ฅผ ๋„์ปค๋ผ์ด์ง• ํ•˜๊ธฐ)์€ 1๋ถ€์ž‘์—์„œ ๋ฐฐ์šด ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์‹ค์ œ ์„œ๋น„์Šค๋ฅผ ๋„์ปค๋ผ์ด์ง• ํ•ด๋ณด๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ์„œ๋กœ ์˜์กดํ•˜๊ณ  ์žˆ๋Š” ๊ฐœ๋…์ด ์žˆ์œผ๋ฏ€๋กœ ํ•œ ๋ฒˆ ๊ฐ€๋ณ๊ฒŒ ์ฝ์–ด๋ณด์‹œ๋Š” ๊ฒƒ๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค :) ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” Dockerfile์€ ๋ฌด์—‡์ด๊ณ  ์–ด์ฉŒ๋‹ค ํƒ„์ƒํ–ˆ์œผ๋ฉฐ ์–ด๋–ค ๋ถˆํŽธํ•œ ์ ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๋Š” ์‹œ๊ฐ„์ด๋‹ค. ์šฐ์„  ์šฐ๋ฆฌ๊ฐ€ ์šฐ๋ฆฌ์˜ Application์„ ๋งŒ๋“ค์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ์œ„์™€ ๊ฐ™์€ ๊ณผ์ •์„ ๊ฑฐ์น˜๊ฒŒ ๋œ.. 2020. 12. 1.
[Docker] ๋„์ปค ๋ช…๋ น์–ด ๋ชจ์Œ ๋„์ปค ๋ช…๋ น์–ด ๋ชจ์Œ ์ผ๋ฐ˜์  ๋ช…๋ น์–ด docker ==> docker -v ==> ๋„์ปค ๋ฒ„์ „ ํ™•์ธ rm docker rm ==> ๋„์ปค ์‚ญ์ œ docker rm -f ==> ์‹คํ–‰์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ์‚ญ์ œ stop docker stop ==> ๋„์ปค ์ค‘๋‹จ. ps docker ps ==> ๋„์ปค ํ”„๋กœ์„ธ์Šค ๋ฆฌ์ŠคํŠธ ํ™•์ธ docker ps -a ==> ๋„์ปค ๋„์ปค ์‹คํ–‰๊ณผ ์ƒ์„ฑ run docker run : ๋„์ปค ์‹คํ–‰ docker run -i -t ==> ๋„์ปค๋ฅผ ์ž…์ถœ๋ ฅ ๋ชจ๋“œ์™€ tty ์„œ๋ฒ„๋กœ ์‹คํ–‰ docker run -it --[name] ==> name์— ํ•ด๋‹นํ•˜๋Š” ์ด๋ฆ„์œผ๋กœ ์‹คํ–‰ docker run -d ==> ๋„์ปค๋ฅผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰ docker run -p ==> ํ˜ธ์ŠคํŠธ์˜ ํŠน์ • ํฌํŠธ์™€ ๋„์ปค์˜ ํฌํŠธ๋ฅผ ํฌํŠธํฌ์›Œ๋”ฉ docker run -e.. 2020. 12. 1.
[Docker] ๋„์ปค ์—”์ง„์„ ๊ตฌ์„ฑํ•˜๋Š” ๋„์ปค ์ด๋ฏธ์ง€์™€ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ. ๊ทธ๋ฆฌ๊ณ  Nginx๋ฅผ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋กœ ๋„์›Œ๋ณด์ž. ์šฐ๋ฆฌ๋Š” ์™œ ๋„์ปค๋ฅผ ๋ฐฐ์›Œ์•ผ ํ•˜๋Š”์ง€ ์ง€๋‚œ ์‹œ๊ฐ„์— ์•Œ์•„๋ณด์•˜๋‹ˆ ์ด์ œ ๋„์ปค์˜ ์„ธ๊ณ„์— ๋Œ€ํ•ด ๋” ๊นŠ๊ฒŒ ๋“ค์–ด๊ฐ€๋ณด์ž. ๋„์ปค๋Š” ์ง€๋‚œ ์‹œ๊ฐ„์— ์ด์•ผ๊ธฐ ํ–ˆ๋“ฏ์ด ํ•˜๋‚˜์˜ ๋ฆฌ๋ˆ…์Šค ์ปจํ…Œ์ด๋„ˆ์ด๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋„์ปค๋ฅผ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ๋กœ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๊ฒŒ ๋œ๋‹ค๋ฉด ์‹ค์งˆ์ ์œผ๋กœ๋Š” ๋„์ปค ์—”์ง„์„ ๋‹ค์šด๋ฐ›๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋„์ปค๋ฅผ ์ด์šฉํ•ด์„œ ์ธํ”„๋ผ๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค๊ฑฐ๋‚˜ ๊ฐœ๋ฐœ์„ ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์ •ํ™•ํžˆ ๋ง ํ•˜์ž๋ฉด *_๋„์ปค ์—”์ง„์„ ์ด์šฉํ•ด์„œ *_์ธํ”„๋ผ๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค๊ฑฐ๋‚˜ ๊ฐœ๋ฐœ์„ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿผ ๊ฒฐ๋ก ์€ ์šฐ๋ฆฐ ๋„์ปค ์—”์ง„์— ๋Œ€ํ•ด์„œ ์•Œ์•„์•ผ ํ•œ๋‹ค. ๋„์ปค ์—”์ง„ ์‚ฌ์‹ค ๋„์ปค ์ด๋ฏธ์ง€์™€ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋Š” ์ง€๊ธˆ ์„ค๋ช…ํ•  ๋‚ด์šฉ๋ณด๋‹ค ํ›จ์”ฌ ๋” ๋ณต์žกํ•˜๊ณ  ์•„๋ฆ„๋‹ต์ง€๋งŒ ๋‹น์žฅ ์ด ๋ชจ๋“  ๊ฒƒ์„ ์ดํ•ดํ•˜๋ ค ํ•œ๋‹ค๋ฉด ๋‹น์žฅ ๋„๋ง๊ฐˆ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ ์‹œ๊ฐ„์— ๋„์ปค ์ด๋ฏธ์ง€๊ฐ€ ๋ญ๊ณ  ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ดํ•ดํ•˜๊ณ  ๊ฐ€๋Š” ๊ฒƒ.. 2020. 11. 29.
[Nginx] Nginx์˜ 5๊ฐ€์ง€ ์ฃผ์š” ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. (๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ, ์บ์‹ฑ, ์žฅ์•  ๋Œ€์‘, ๊ฐ€์ƒ ํ˜ธ์ŠคํŒ…, Keep Alive ์ œ์–ด) Nginx์— ์ฃผ์š” ๊ธฐ๋Šฅ์ด ์ด 5๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ์žฅ์• ๋ฅผ ๋Œ€์‘ํ•˜๋Š” ๋ฐฉ๋ฒ• ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์œผ๋กœ ๋ถ€ํ•˜๋ถ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ Keep Alive๋กœ ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ์ด์šฉํ•˜๊ธฐ Sub-Domain์œผ๋กœ ๋‹ค์–‘ํ•œ ์„œ๋ฒ„ ํ˜ธ์ŠคํŒ… ์บ์‹ฑ ์ฒ˜๋ฆฌ๋กœ ๋” ๋น ๋ฅธ ์†๋„๋ฅผ ์ œ๊ณต ์žฅ์•  ๋Œ€์‘ ์žฅ์•  ๋Œ€์‘์€ Backend ์„œ๋ฒ„์— ๋Œ€ํ•œ ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ํ† ๋Œ€๋กœ ์žฅ์• ๋ฅผ ํŒ๋‹จํ•˜๋Š” ์„œ๋น„์Šค์ด๋‹ค. ์žฅ์•  ๋Œ€์‘์„ ์œ„ํ•ด์„œ๋Š” Upstream Module์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, max_fails, fail_timeout์œผ๋กœ ์„œ๋ฒ„์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•œ๋‹ค. ๊ทธ ์„ค์ •์œผ๋กœ ์„œ๋ฒ„ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ด์„œ ์„ค์ • ๊ฐ’์„ ์ดˆ๊ณผํ•˜๋ฉด ๋ฐฑ์—… ์„œ๋ฒ„๋กœ ์„œ๋น„์Šค๊ฐ€ ํ™œ์„ฑํ™”๋˜๊ฒŒ ํ•˜๋ฉฐ ์žฅ์• ๋ฅผ ๋Œ€์‘ํ•œ๋‹ค. max_fails=n : n์œผ๋กœ ์ง€์ •๋œ ํšŸ์ˆ˜๋งŒํผ ์—ฐ๊ฒฐ ์‹คํŒจํ•˜๋ฉด ์„œ๋ฒ„ ๋‹ค์šด๋œ ๊ฒƒ์œผ๋กœ ํŒ๋‹จ. fail_timeout=n : max_fails๊ฐ€ .. 2020. 11. 29.