Infra

<Infra> ubuntu ํ™˜๊ฒฝ์—์„œ ์˜๋ฌธ์‚ฌํ•œ docker container ์‚ฌ์ธ ๊ทœ๋ช…

wjdtkdgns 2023. 10. 5. 00:33

๐Ÿ“Œ ์‚ฌ๋ผ์ง„ ์„œ๋ฒ„ ์ปจํ…Œ์ด๋„ˆ

All:Chive ํšŒ์˜๋ฅผ ํ–ˆ๋‹ค.

ํšŒ์˜ํ•˜๋Š”๋ฐ ๋กœ๊ทธ์ธ์ด ์•ˆ๋œ๋‹ค๊ณ  ํ•œ๋‹ค.

๋ญ์ง€ ํ•˜๊ณ  ec2 ์ ‘์†ํ•ด์„œ, 

sudo docker ps

ํ•ด๋ดค๋”๋‹ˆ, ์—”์ง€๋‹‰์Šค๋งŒ ๋‚จ์•„์žˆ๋‹ค;;;

๋ณดํ†ต ๋ธ”๋กœ๊ทธ ์“ธ ๊ฑฐ์˜€์œผ๋ฉด, ์‚ฌ์ง„์ด๋ผ๋„ ๋‚จ๊ฒจ๋’€์„ ํ…๋ฐ

์—ฌ๊ธด ์‚ฌ์ง„๋„ ๋ชป ๋‚จ๊ฒผ๋‹ค... ๋‹นํ™ฉํ•ด์„œ;;

์ผ๋‹จ ๋„์ปค ์ปดํฌ์ฆˆ๋กœ ์„œ๋ฒ„ ๋ณต๊ตฌ๋งŒ ์‹œ์ผœ๋‘๊ณ  ์›์ธ์„ ์ฐพ์•„๋ดค๋‹ค.

 

๐Ÿ“Œ ์›์ธ ๊ทœ๋ช…

๐ŸŸข CloudWatch 

All:Chive ์„œ๋ฒ„์—๋Š” ๋กœ๊ทธ ๋ณด๊ธฐ ํŽธํ•˜๊ฒŒ, CloudWatch๋ฅผ ์ ์šฉํ•ด๋’€๋‹ค.

์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ข…๋ฃŒ๋œ ๊ฑธ ๋ณด๊ณ , ์„œ๋ฒ„๊ฐ€ ์˜ค๋ฅ˜ ๋‚˜์„œ ๊ฐ•์ œ ์ข…๋ฃŒ๋œ ๊ฑด๊ฐ€ ์‹ถ์–ด์„œ ๋กœ๊ทธ๋ฅผ ์ผœ๋ดค๋‹ค.

์ข…๋ฃŒ๋  ๋•Œ์ฏค, ์„œ๋ฒ„์— ์•„๋ฌด๋Ÿฐ ์š”์ฒญ์ด ์—†์—ˆ๊ณ , ์—๋Ÿฌ๋„ ์—†์—ˆ๋‹ค.

์˜๋ฌธ์‚ฌํ–ˆ๋‹ค.

๊ทธ๋ž˜์„œ CPU ๋ฌธ์ œ์ธ๊ฐ€ ์‹ถ์–ด์„œ EC2 ์ง€ํ‘œ๋„ ๋ดค๋‹ค.

์ง€ํ‘œ๋„ ๋ญ”๊ฐ€ ์ด์ƒํ•˜๋‹ค.

์š”์ฒญ์ด ์—†๋Š”๋ฐ CPU ์‚ฌ์šฉ๋ฅ ์ด ์ €๋ ‡๊ฒŒ ์˜ฌ๋ผ๊ฐ„๋‹ค?

๋งŽ์ด ์ด์ƒํ–ˆ๋‹ค.

๊ทธ๋ž˜๋„ ์œ„ ์ง€ํ‘œ๋ฅผ ํ†ตํ•ด local time 15์‹œ 19๋ถ„, utc time 6:15 ์ฏค์— ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ข…๋ฃŒ๋œ ๊ฑด ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

์‹œ๊ฐ„์€ ์œ„๋Š” local time์ด๊ณ  ์•„๋ž˜๋Š” utc๋ผ์„œ 9์‹œ๊ฐ„ ์ฐจ์ด๊ฐ€ ๋‚œ๋‹ค.

๊ทธ๊ฑด ๊ฐ์•ˆํ•ด์„œ ๋ด์ฃผ๋ฉด ์ข‹๊ฒ ๋‹ค.

 

๐ŸŸข Docker events

๋‹ค์Œ์œผ๋กœ ๋„์ปค ์ด๋ฒคํŠธ๋ฅผ ๋ดค๋‹ค.

์ข…๋ฃŒ๋œ ๋‚ ์งœ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ฐพ์•„๋ดค๋‹ค.

sudo docker events --since "2023-10-04"

exit code 137?

container oom?

 

 

What is the authoritative list of Docker Run exit codes?

Apologies if this has been asked, but nowhere in the Docker documentation can I find an authoritative list of exit codes (also called exit status). Surprising! I see suggestions about making it

stackoverflow.com

์œ„ ์ž๋ฃŒ์— ๋”ฐ๋ฅด๋ฉด 137 ์€ sigkill์ด๋‹ค.

์ •ํ™•ํžˆ ๋ฌด์Šจ ๋ฌธ์ œ์ธ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์œผ๋‚˜, ๋ฆฌ๋ˆ…์Šค์— ์˜ํ•ด ๊ฐ•์ œ ์ข…๋ฃŒ ๋‹นํ–ˆ๋‹ค.

 

oom์€ ๋ณดํ†ต out of memory๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

ํ˜„ ์„œ๋ฒ„๋Š” ์šฐ๋ถ„ํˆฌ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™ํ•˜๋Š”๋ฐ, ์šฐ๋ถ„ํˆฌ๊ฐ€ oom์œผ๋กœ ์ธํ•ด ์„œ๋ฒ„๋ฅผ ๊ฐ•์ œ ์ข…๋ฃŒ์‹œํ‚จ ๊ฒƒ ๊ฐ™์•˜๋‹ค.

 

๐ŸŸข Syslog

๊ทธ๋ž˜์„œ ์šฐ๋ถ„ํˆฌ ๋กœ๊ทธ๋ฅผ ๋ดค๋‹ค.

cat /var/log/syslog

์œ„์—์„œ ์˜ˆ์ƒํ•œ ๋Œ€๋กœ oom-killer๊ฐ€ ์ž‘๋™ํ–ˆ๋‹ค.

๋” ๋ฐ‘์œผ๋กœ ๋‚ด๋ ค๋ณด๋‹ˆ, ๋‚ด ์˜ˆ์ƒ์ด ์ •ํ™•ํžˆ ๋งž์•˜๋‹ค.

out of memory ๋•Œ๋ฌธ์— kill ๋‹นํ•œ๊ฑฐ๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด ์™œ 6์‹œ 15๋ถ„ ๊ทผ์ฒ˜์— CPU ์‚ฌ์šฉ๋ฅ ์ด ๊ธ‰๊ฒฉํ•˜๊ฒŒ ์˜ฌ๋ผ๊ฐ”์„๊นŒ?

์ž๋™ ์—…๋ฐ์ดํŠธํ•˜๊ณ  clean ์ž‘์—…์„ ํ–ˆ๋‹ค๊ณ  ํ•œ๋‹ค.

์œ„ ์ž‘์—…ํ•˜๋‹ค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ํ„ฐ์ง„ ๋“ฏํ•˜๋‹ค.

 

๐Ÿ“Œ ํ•ด๊ฒฐํ•˜๊ธฐ

๐ŸŸข ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ์›์ธ

์ž๋™ ์—…๋ฐ์ดํŠธ๊ฐ€ ์›์ธ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋น„์Šทํ•œ ์‚ฌ๋ก€๋ฅผ ์ฐพ์•„๋ดค๋‹ค.

 

ubuntu ํ™˜๊ฒฝ์—์„œ docker container๊ฐ€ ๊ฐ‘์ž๊ธฐ stop ๋˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

์ฆ์ƒ ์›น์‚ฌ์ดํŠธ์— ์ ‘์†์ด ์•ˆ๋œ๋‹ค๋Š” ์—ฐ๋ฝ์„ ๋ฐ›๊ณ  ์„œ๋ฒ„์— ์ ‘์†์„ ํ•ด์„œ ํ™•์ธํ•ด ๋ณด์•˜๋Š”๋ฐ container๊ฐ€ stop ์ƒํƒœ๋กœ ๋˜์–ด ์žˆ์—ˆ๋‹ค ์›์ธ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ์–ธ์ œ๋ถ€ํ„ฐ ์›น์‚ฌ์ดํŠธ๊ฐ€ ์ ‘์†์ด ์•ˆ๋๋Š”์ง€ ๋กœ๊ทธ๋“ค

hacktiming.tistory.com

์œ„ ๊ธ€์—์„œ๋Š” apt update๋ฅผ ํ•˜์ง€ ์•Š๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ–ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฑธ ์ข…๋ฃŒํ•˜๋ฉด ๋ณด์•ˆ ์—…๋ฐ์ดํŠธ ์•ˆ๋  ํ…๋ฐ, ๋„๋ฉด ์•ˆ ๋˜๋Š” ๊ฑฐ ์•„๋‹๊นŒ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ข…๋ฃŒํ•˜์ง€ ์•Š๊ณ  ์•„๋ž˜ ์ž‘์—…์„ ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

  1. ๋ฉ”๋ชจ๋ฆฌ ์šฉ๋Ÿ‰์„ ๋Š˜๋ฆฌ๊ธฐ
  2. ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„์„ ์„œ๋ฒ„์˜ ๋ถ€ํ•˜๊ฐ€ ๋น„๊ต์  ์ ์€ ์ƒˆ๋ฒฝ์œผ๋กœ ๋ณ€๊ฒฝ

 

๐ŸŸข Sol.1 EC2 ์ธ์Šคํ„ด์Šค ๋ณผ๋ฅจ ํ™•์žฅ

๋ณผ๋ฅจ์„ ํ”„๋ฆฌํ‹ฐ์–ด ์ตœ๋Œ€์ธ 30GB๋กœ ๋Š˜๋ ธ๋‹ค.

์•„๋ž˜ ๊ธ€ ์ฐธ๊ณ ํ•ด์„œ ์ž‘์—…ํ–ˆ๋‹ค.

 

[AWS] EC2 ์ธ์Šคํ„ด์Šค ์šฉ๋Ÿ‰ ํ™•์žฅ

์ดˆ๊ธฐ ์„ค์ •ํ•œ EC2 ์ธ์Šคํ„ด์Šค ์„œ๋ฒ„์˜ ๋””์Šคํฌ ์šฉ๋Ÿ‰์ด ๋ถ€์กฑํ•˜์—ฌ EBS๋ฅผ ์ด์šฉํ•˜์—ฌ ์šฉ๋Ÿ‰์„ ํ™•์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

 

velog.io

 

๐ŸŸข Sol.2 EC2 ์Šค์™‘ ๋ฉ”๋ชจ๋ฆฌ ํ™•์žฅ

์Šค์™‘๋ฉ”๋ชจ๋ฆฌ๋„ ๋Š˜๋ ธ๋‹ค.

์ฐพ์•„๋ณด๋‹ˆ ๋žจ์ด 1GB๋ฉด 2๋ฐฐ ์ •๋„ ํฌ๊ธฐ์˜ ์Šค์™‘ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ํ•œ๋‹ค.

๊ทธ๋ž˜์„œ 2GB๋งŒํผ ์„ค์ •ํ•ด๋’€๋‹ค.

 

[AWS] Swap File์„ ์ด์šฉํ•ด EC2 ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ ํ˜„์ƒ์„ ํ•ด๊ฒฐํ•ด๋ณด์ž

์ž‘์—…์„ ํ•˜๋˜ ์ค‘ aws ec2 ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑํ˜„์ƒ์ด ๋ฐœ์ƒํ–ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” t4g.micro ์ธ์Šคํ„ด์Šค ์œ ํ˜•์€ ๋žจ์ด 1GB์˜€๊ณ , ์ด๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑํ˜„์ƒ์„ ์ถฉ๋ถ„ํžˆ(?) ๋ณผ ์ˆ˜ ์žˆ์„ ์ •๋„๋กœ ์ž‘์€ ์–‘์˜ ๋ฉ”๋ชจ๋ฆฌ์˜€๋‹ค. ์ด

kth990303.tistory.com

 

๐ŸŸข Sol.3 apt update ์‹œ๊ฐ„ ๋ณ€๊ฒฝ

ubuntu๋Š” ์ •๊ธฐ์ ์ธ ํŒจํ‚ค์ง€ ์—…๊ทธ๋ ˆ์ด๋“œ ๋ฐ ํด๋ฆฐ ์ž‘์—…์„ ์œ„ํ•ด unattended-upgrade ํŒจํ‚ค์ง€๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๊ณ ,

์ด๋ฅผ ๋งค์ผ ๋™์ž‘์‹œํ‚ค๊ธฐ ์œ„ํ•œ ์„œ๋น„์Šค์™€ ์Šค์ผ€์ค„์ด systemd์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

2๊ฐ€์ง€ ๋™์ž‘์ด ์žˆ๋Š”๋ฐ

  • apt-daily.service : ๊ฐ์ข… ํŒจํ‚ค์ง€์˜ ์—…๋ฐ์ดํŠธ ๋ฐ ๋‹ค์šด๋กœ๋“œ
  • apt-daily-upgrade.service : ์ดํ›„ ์—…๋ฐ์ดํŠธ๋œ ํŒจํ‚ค์ง€๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ํ•„์š”์—†๋Š” ํŒจํ‚ค์ง€๋“ค์„ ์‚ญ์ œํ•˜๋Š” ์—ญํ• 

๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

์œ„ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ํƒ€์ด๋จธ๊ฐ€ ์„ธํŒ…๋˜์–ด ์ž‘๋™๋˜๊ณ , ์ด ํƒ€์ด๋จธ์— ๋Œ€ํ•œ ์„ค์ • ์ •๋ณด๋Š”

/etc/systemd/system

์— ์œ„์น˜ํ•œ๋‹ค.

 

apt-daily.service

์œ„๋Š” ๊ธฐ๋ณธ ์„ค์ •์ด๋‹ค.

์›๋ž˜๋Š” 24์‹œ๊ฐ„ ์ค‘ ์•„๋ฌด ๋•Œ๋‚˜์˜€๋Š”๋ฐ,

local time ๊ธฐ์ค€์œผ๋กœ 04:00 ~ 05:00 ์‚ฌ์ด์— ์ž‘๋™ํ•˜๋„๋ก ๋ณ€๊ฒฝํ–ˆ๋‹ค.

 

apt-daily-upgrade.service

์œ„๋Š” ๊ธฐ๋ณธ ์„ค์ •์ด๋‹ค.

local time ๊ธฐ์ค€์œผ๋กœ 06:00 ~ 07:00 ์‚ฌ์ด์— ์ž‘๋™ํ•˜๋„๋ก ๋ณ€๊ฒฝํ–ˆ๋‹ค.

 

๐Ÿ“Œ ๋งˆ๋ฌด๋ฆฌ

๋„์ปค ์ปจํ…Œ์ด๋„ˆ ๋‹ค์‹œ ์ผฐ๋‹ค.

์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์ด ๊ธ€์„ ์“ฐ๋Š” ํ˜„ ์‹œ๊ฐ„๊นŒ์ง€ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๊ณ  ์žˆ๋‹ค.