IT Talks/Database

[Docker] macOS์—์„œ MySQL ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ์˜ค๋ฅ˜ ํ•ด๊ฒฐํ•˜๊ธฐ – No space left on device (Error 28)

OkOJJ 2026. 10. 10. 00:32

Docker๋ฅผ ์ด์šฉํ•ด MySQL 8.4 ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋˜ ์ค‘ MySQL ์„œ๋ฒ„๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์‹œ์ž‘๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.

๋กœ๊ทธ๋ฅผ ํ™•์ธํ•ด ๋ณด๋‹ˆ InnoDB ์ดˆ๊ธฐํ™” ๊ณผ์ •์—์„œ No space left on device ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ์žˆ์—ˆ๋‹ค.

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” macOS Docker Desktop ํ™˜๊ฒฝ์—์„œ ๋ฐœ์ƒํ•œ MySQL ๋””์Šคํฌ ๊ณต๊ฐ„ ๋ถ€์กฑ ์˜ค๋ฅ˜์˜ ์›์ธ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•œ๋‹ค.

1. ๋ฌธ์ œ ์ƒํ™ฉ

๊ฐœ๋ฐœ ํ™˜๊ฒฝ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • ์šด์˜์ฒด์ œ: macOS
  • ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ: Docker Desktop
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค: MySQL 8.4.11
  • ์‹คํ–‰ ๋ฐฉ์‹: Docker Compose

MySQL ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ํ›„ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜๋‹ˆ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ์ถœ๋ ฅ๋˜์—ˆ๋‹ค.

[System] MySQL Server - start.
[System] /usr/sbin/mysqld (mysqld 8.4.11) starting as process 1
[System] [InnoDB] InnoDB initialization has started.

[Warning] [InnoDB] Retry attempts for writing partial data failed.

[ERROR] [InnoDB]
Write to file ./#innodb_redo/#ib_redo16_tmp failed
at offset 1048576, 1048576 bytes should have been written,
only 0 were written.

Operating system error number 28.

[ERROR] [InnoDB]
Error number 28 means 'No space left on device'

[ERROR] [InnoDB]
Cannot resize redo log file ./#innodb_redo/#ib_redo16_tmp
to 3 MB (Failed to set size)

๊ฐ€์žฅ ์ค‘์š”ํ•œ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

Error number 28 means 'No space left on device'

์ฆ‰, MySQL์ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋กํ•˜๋ ค ํ–ˆ์ง€๋งŒ ์ €์žฅ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•ด ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ํ™•์žฅํ•˜์ง€ ๋ชปํ–ˆ๋‹ค๋Š” ์˜๋ฏธ๋‹ค.

2. ์˜ค๋ฅ˜ ์›์ธ ๋ถ„์„

InnoDB Redo Log๋ž€?

MySQL์˜ ๊ธฐ๋ณธ ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์ธ InnoDB๋Š” ๋ฐ์ดํ„ฐ์˜ ์•ˆ์ •์„ฑ๊ณผ ํŠธ๋žœ์žญ์…˜ ๋ณต๊ตฌ๋ฅผ ์œ„ํ•ด Redo Log๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

Redo Log๋Š” ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ธฐ๋กํ•ด ๋‘์—ˆ๋‹ค๊ฐ€ ์žฅ์•  ๋ฐœ์ƒ ์‹œ ๋ณต๊ตฌ์— ํ™œ์šฉํ•˜๋Š” ๋กœ๊ทธ๋‹ค.

MySQL 8.4์—์„œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ ๊ฒฝ๋กœ์— Redo Log ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ๋‹ค.

/var/lib/mysql/#innodb_redo/

์ด๋ฒˆ ์˜ค๋ฅ˜์—์„œ๋Š” ๋‹ค์Œ ํŒŒ์ผ์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋กํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.

./#innodb_redo/#ib_redo16_tmp

MySQL์ด Redo Log ํŒŒ์ผ์„ ํ™•์žฅํ•˜๋Š” ๊ณผ์ •์—์„œ ์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ ์˜ค๋ฅ˜ ๋ฒˆํ˜ธ 28์„ ๋ฐ˜ํ™˜๋ฐ›์€ ๊ฒƒ์ด๋‹ค.

macOS์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ด์œ 

macOS์˜ Docker Desktop์€ Linux ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด Linux ๊ฐ€์ƒ ๋จธ์‹ ์„ ์‚ฌ์šฉํ•œ๋‹ค.

๋”ฐ๋ผ์„œ Docker๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์ €์žฅ ๊ณต๊ฐ„๊ณผ macOS ํ˜ธ์ŠคํŠธ์˜ ์ €์žฅ ๊ณต๊ฐ„์€ ๊ด€๋ฆฌ ๋ฐฉ์‹์ด ๋‹ค๋ฅด๋‹ค.

๋Œ€ํ‘œ์ ์ธ ์›์ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. macOS ํ˜ธ์ŠคํŠธ ๋””์Šคํฌ์˜ ์—ฌ์œ  ๊ณต๊ฐ„ ๋ถ€์กฑ
  2. Docker Desktop ๊ฐ€์ƒ ๋””์Šคํฌ์˜ ์šฉ๋Ÿ‰ ์ œํ•œ ๋„๋‹ฌ
  3. ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” Docker ์ด๋ฏธ์ง€์™€ ์ปจํ…Œ์ด๋„ˆ์˜ ๋ˆ„์ 
  4. Docker ๋นŒ๋“œ ์บ์‹œ์˜ ๊ณผ๋„ํ•œ ์ฆ๊ฐ€
  5. MySQL ๋ฐ์ดํ„ฐ ๋ณผ๋ฅจ์ด ์œ„์น˜ํ•œ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๊ณต๊ฐ„ ๋ถ€์กฑ

ํŠนํžˆ macOS์— ๋””์Šคํฌ ์—ฌ์œ  ๊ณต๊ฐ„์ด ๋‚จ์•„ ์žˆ๋”๋ผ๋„ Docker Desktop ๋‚ด๋ถ€ ์ €์žฅ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•˜๋ฉด ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

3. Docker ๋””์Šคํฌ ์‚ฌ์šฉ๋Ÿ‰ ํ™•์ธ

๊ฐ€์žฅ ๋จผ์ € Docker๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

docker system df

์ด ๋ช…๋ น์–ด๋Š” Docker ์ด๋ฏธ์ง€, ์ปจํ…Œ์ด๋„ˆ, ๋ณผ๋ฅจ, ๋นŒ๋“œ ์บ์‹œ์˜ ์‚ฌ์šฉ๋Ÿ‰์„ ๋ณด์—ฌ์ค€๋‹ค.

์ถœ๋ ฅ ์˜ˆ์‹œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

TYPE            TOTAL   ACTIVE   SIZE      RECLAIMABLE
Images          25      8        12.5GB    8.2GB
Containers      12      3        1.2GB     800MB
Local Volumes   15      5        18.4GB    4.5GB
Build Cache     120     0        9.8GB     9.8GB

์œ„ ์ˆ˜์น˜๋Š” ์„ค๋ช…์„ ์œ„ํ•œ ์˜ˆ์‹œ์ด๋ฉฐ ์‹ค์ œ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค.

์—ฌ๊ธฐ์„œ ์ฃผ๋ชฉํ•  ํ•ญ๋ชฉ์€ RECLAIMABLE์ด๋‹ค.

์ด๋Š” Docker๊ฐ€ ๋ฏธ์‚ฌ์šฉ ๋ฆฌ์†Œ์Šค๋กœ ํŒ๋‹จํ•ด ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์šฉ๋Ÿ‰์„ ์˜๋ฏธํ•œ๋‹ค.

๋” ์ƒ์„ธํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.

docker system df -v

macOS ํ˜ธ์ŠคํŠธ์˜ ๋””์Šคํฌ ๊ณต๊ฐ„๋„ ํ•จ๊ป˜ ํ™•์ธํ•œ๋‹ค.

df -h

4. Docker ๋””์Šคํฌ ๊ณต๊ฐ„ ์ •๋ฆฌํ•˜๊ธฐ

์›์ธ์„ ํ™•์ธํ•œ ํ›„ ๋ถˆํ•„์š”ํ•œ Docker ๋ฆฌ์†Œ์Šค๋ฅผ ์ •๋ฆฌํ•œ๋‹ค.

4.1 ์ค‘์ง€๋œ ์ปจํ…Œ์ด๋„ˆ ์‚ญ์ œ

docker container prune

ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ด์ง€ ์•Š์€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ญ์ œํ•œ๋‹ค.

4.2 ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ด๋ฏธ์ง€ ์‚ญ์ œ

docker image prune -a

์‹คํ–‰ ์ค‘์ด๊ฑฐ๋‚˜ ์ค‘์ง€๋œ ์ปจํ…Œ์ด๋„ˆ์—์„œ ์ฐธ์กฐํ•˜์ง€ ์•Š๋Š” ์ด๋ฏธ์ง€๋ฅผ ์‚ญ์ œํ•œ๋‹ค.

์‚ญ์ œ๋œ ์ด๋ฏธ์ง€๋Š” ์ดํ›„ ํ•„์š”ํ•  ๋•Œ ๋‹ค์‹œ ๋‹ค์šด๋กœ๋“œํ•˜๊ฑฐ๋‚˜ ๋นŒ๋“œํ•ด์•ผ ํ•œ๋‹ค.

4.3 Docker ๋นŒ๋“œ ์บ์‹œ ์ •๋ฆฌ

docker builder prune

์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋นŒ๋“œ ์บ์‹œ๋ฅผ ์‚ญ์ œํ•œ๋‹ค.

๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ Docker ์ด๋ฏธ์ง€๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ๋นŒ๋“œํ•˜๋ฉด ์บ์‹œ๊ฐ€ ์ƒ๋‹นํ•œ ์šฉ๋Ÿ‰์„ ์ฐจ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

4.4 ๋ฏธ์‚ฌ์šฉ ๋ฆฌ์†Œ์Šค ์ผ๊ด„ ์ •๋ฆฌ

์œ„ ์ž‘์—…์„ ํ•œ ๋ฒˆ์— ์‹คํ–‰ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

docker system prune -a

์ด ๋ช…๋ น์–ด๋Š” ์ค‘์ง€๋œ ์ปจํ…Œ์ด๋„ˆ, ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋„คํŠธ์›Œํฌ์™€ ์ด๋ฏธ์ง€, ๋ฏธ์‚ฌ์šฉ ๋นŒ๋“œ ์บ์‹œ ๋“ฑ์„ ์ •๋ฆฌํ•œ๋‹ค.

์ฃผ์˜ํ•  ์ ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณผ๋ฅจ์ด๋‹ค.

๋‹ค์Œ ๋ช…๋ น์–ด๋“ค์€ ๋ฐ์ดํ„ฐ ์†์‹ค ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์œผ๋ฏ€๋กœ ์‹ ์ค‘ํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

docker volume prune
docker system prune --volumes
docker compose down -v

ํŠนํžˆ docker compose down -v๋Š” Compose ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” named volume๊นŒ์ง€ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

MySQL ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค๋ฉด ๋ณผ๋ฅจ ์‚ญ์ œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์•ˆ์ „ํ•˜๋‹ค.

5. Docker Desktop ๋””์Šคํฌ ์šฉ๋Ÿ‰ ํ™•์ธ

Docker ๋ฆฌ์†Œ์Šค๋ฅผ ์ •๋ฆฌํ–ˆ๋Š”๋ฐ๋„ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด Docker Desktop์˜ ๋””์Šคํฌ ์šฉ๋Ÿ‰ ์ œํ•œ์„ ํ™•์ธํ•œ๋‹ค.

macOS์—์„œ Docker Desktop์„ ์‹คํ–‰ํ•œ ๋’ค ๋‹ค์Œ ๋ฉ”๋‰ด๋กœ ์ด๋™ํ•œ๋‹ค.

Docker Desktop → Settings → Resources → Advanced

Docker Desktop ๋ฒ„์ „์— ๋”ฐ๋ผ ์„ค์ • ํ™”๋ฉด์ด๋‚˜ ํ•ญ๋ชฉ ์ด๋ฆ„์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์ง€๋งŒ, ๋””์Šคํฌ ์‚ฌ์šฉ๋Ÿ‰ ๋ฐ ์šฉ๋Ÿ‰ ์ œํ•œ ๊ด€๋ จ ์„ค์ •์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์„ค์ •๋œ ๋””์Šคํฌ ์šฉ๋Ÿ‰์ด ๋ถ€์กฑํ•˜๋‹ค๋ฉด ์—ฌ์œ  ๊ณต๊ฐ„๊ณผ ํ˜ธ์ŠคํŠธ ๋””์Šคํฌ ์šฉ๋Ÿ‰์„ ๊ณ ๋ คํ•ด ์ œํ•œ์„ ๋Š˜๋ฆฐ๋‹ค.

๋‹จ, ๋””์Šคํฌ ์ด๋ฏธ์ง€๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๊ธฐ๋Šฅ์€ ๊ธฐ์กด Docker ๋ฐ์ดํ„ฐ๊ฐ€ ์†์‹ค๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.

6. MySQL ์ปจํ…Œ์ด๋„ˆ ๋‹ค์‹œ ์‹คํ–‰

๋””์Šคํฌ ๊ณต๊ฐ„์„ ํ™•๋ณดํ–ˆ๋‹ค๋ฉด MySQL ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•œ๋‹ค.

docker compose up -d mysql

์‹คํ–‰ ์ƒํƒœ๋ฅผ ํ™•์ธํ•œ๋‹ค.

docker compose ps

๋กœ๊ทธ๋„ ํ™•์ธํ•œ๋‹ค.

docker compose logs -f mysql

MySQL์ด ์ •์ƒ์ ์œผ๋กœ ์ดˆ๊ธฐํ™”๋ฅผ ์™„๋ฃŒํ•˜๊ณ  ์—ฐ๊ฒฐ์„ ๋ฐ›์„ ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•œ ๋ฉ”์‹œ์ง€๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

[System] [Server] /usr/sbin/mysqld: ready for connections.

์ด ๋ฉ”์‹œ์ง€๊ฐ€ ํ™•์ธ๋˜๋ฉด MySQL ์„œ๋ฒ„๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์‹œ์ž‘๋œ ๊ฒƒ์ด๋‹ค.

๋‹จ, Compose ์„œ๋น„์Šค ์ด๋ฆ„์ด mysql์ด ์•„๋‹ˆ๋ผ๋ฉด ์‹ค์ œ ์„œ๋น„์Šค ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํ•œ๋‹ค.

7. ์ถ”๊ฐ€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•: InnoDB Redo Log ํฌ๊ธฐ ์กฐ์ •

๋””์Šคํฌ ๊ณต๊ฐ„์ด ์ถฉ๋ถ„ํ•œ๋ฐ๋„ Redo Log ๊ด€๋ จ ๋ฌธ์ œ๊ฐ€ ๋ฐ˜๋ณต๋œ๋‹ค๋ฉด MySQL์˜ Redo Log ์„ค์ •์„ ๊ฒ€ํ† ํ•  ์ˆ˜ ์žˆ๋‹ค.

MySQL 8.4์—์„œ๋Š” innodb_redo_log_capacity ์˜ต์…˜์œผ๋กœ Redo Log ์ „์ฒด ์šฉ๋Ÿ‰์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ 64MB๋กœ ์„ค์ •ํ•˜๋ ค๋ฉด Docker Compose์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•œ๋‹ค.

services:
  mysql:
    image: mysql:8.4
    command:
      - --innodb-redo-log-capacity=64M
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: marketing_manager
    volumes:
      - mysql_data:/var/lib/mysql

volumes:
  mysql_data:

๋‹ค๋งŒ Redo Log ์šฉ๋Ÿ‰์„ ์ง€๋‚˜์น˜๊ฒŒ ์ค„์ด๋ฉด ์ฒดํฌํฌ์ธํŠธ ์ž‘์—…์ด ๋นˆ๋ฒˆํ•ด์ ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์“ฐ๊ธฐ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

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

๋””์Šคํฌ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•œ ์ƒํ™ฉ์ด๋ผ๋ฉด Redo Log ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•˜๊ธฐ๋ณด๋‹ค ๋จผ์ € ์ €์žฅ ๊ณต๊ฐ„์„ ํ™•๋ณดํ•˜๋Š” ๊ฒƒ์ด ์šฐ์„ ์ด๋‹ค.

8. Docker ๋””์Šคํฌ ๋ถ€์กฑ ๋ฌธ์ œ ์˜ˆ๋ฐฉํ•˜๊ธฐ

Docker๋ฅผ ์žฅ๊ธฐ๊ฐ„ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋ฏธ์ง€์™€ ๋นŒ๋“œ ์บ์‹œ๊ฐ€ ๊ณ„์† ๋ˆ„์ ๋  ์ˆ˜ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ๋Š” ์ฃผ๊ธฐ์ ์œผ๋กœ ์‚ฌ์šฉ๋Ÿ‰์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

# Docker ๋””์Šคํฌ ์‚ฌ์šฉ๋Ÿ‰ ํ™•์ธ
docker system df

# ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋นŒ๋“œ ์บ์‹œ ์ •๋ฆฌ
docker builder prune

# ์ค‘์ง€๋œ ์ปจํ…Œ์ด๋„ˆ ์ •๋ฆฌ
docker container prune

# ๋ฏธ์‚ฌ์šฉ ์ด๋ฏธ์ง€ ์ •๋ฆฌ
docker image prune

๋˜ํ•œ MySQL ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ญ์ œํ•˜๋”๋ผ๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์ง€๋˜๋„๋ก named volume์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

services:
  mysql:
    image: mysql:8.4
    volumes:
      - mysql_data:/var/lib/mysql

volumes:
  mysql_data:

๋‹จ, named volume์€ ๋ฐ์ดํ„ฐ์˜ ์˜์†์„ฑ์„ ์ œ๊ณตํ•  ๋ฟ ๋ฐฑ์—…์„ ๋Œ€์ฒดํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ๋Š” ๋ณ„๋„์˜ ๋ฐฑ์—…์ด ํ•„์š”ํ•˜๋‹ค.

9. ๋งˆ๋ฌด๋ฆฌ

์ด๋ฒˆ MySQL ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ์˜ค๋ฅ˜๋Š” InnoDB ์ž์ฒด์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋กํ•  ์ €์žฅ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•ด ๋ฐœ์ƒํ•œ ๋ฌธ์ œ์˜€๋‹ค.

ํ•ต์‹ฌ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

Operating system error number 28
No space left on device

์ด๋Ÿฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด MySQL ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ญ์ œํ•˜๊ธฐ ์ „์— ๋‹ค์Œ ์ˆœ์„œ๋กœ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

  1. docker system df๋กœ Docker ๋””์Šคํฌ ์‚ฌ์šฉ๋Ÿ‰ ํ™•์ธ
  2. df -h๋กœ macOS ํ˜ธ์ŠคํŠธ ๋””์Šคํฌ ๊ณต๊ฐ„ ํ™•์ธ
  3. ๋ถˆํ•„์š”ํ•œ ์ด๋ฏธ์ง€, ์ปจํ…Œ์ด๋„ˆ, ๋นŒ๋“œ ์บ์‹œ ์ •๋ฆฌ
  4. Docker Desktop ๋””์Šคํฌ ์šฉ๋Ÿ‰ ์ œํ•œ ํ™•์ธ
  5. MySQL ์ปจํ…Œ์ด๋„ˆ ์žฌ์‹œ์ž‘ ๋ฐ ๋กœ๊ทธ ํ™•์ธ

ํŠนํžˆ Docker๋ฅผ ์ด์šฉํ•ด ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ํ™˜๊ฒฝ์ด๋ผ๋ฉด ๋นŒ๋“œ ์บ์‹œ์™€ ์˜ค๋ž˜๋œ ์ด๋ฏธ์ง€๊ฐ€ ์˜ˆ์ƒ๋ณด๋‹ค ๋งŽ์€ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฌด์—‡๋ณด๋‹ค ์ค‘์š”ํ•œ ๊ฒƒ์€ MySQL ๋ฐ์ดํ„ฐ ๋ณผ๋ฅจ์„ ๋ฌด์ž‘์ • ์‚ญ์ œํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด๋‹ค.

์ €์žฅ ๊ณต๊ฐ„ ๋ถ€์กฑ ๋ฌธ์ œ๋Š” ๋Œ€๋ถ€๋ถ„ ๋ถˆํ•„์š”ํ•œ Docker ๋ฆฌ์†Œ์Šค๋ฅผ ์ •๋ฆฌํ•˜๊ฑฐ๋‚˜ Docker Desktop์˜ ์ €์žฅ ๊ณต๊ฐ„ ์„ค์ •์„ ์กฐ์ •ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.


728x90