docker ์Šคํ† ๋ฆฌ์ง€ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ฌธ์ œ ๊ธฐ๋ก(docker root)

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

์‹œ์ž‘ํ•˜์ž:

1. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ค‘์ง€ํ•˜๊ณ  ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

docker-compose down

์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋งŽ๊ณ  ๊ตฌ์„ฑ์ด ์„œ๋กœ ๋‹ค๋ฅธ ๊ฒฝ์šฐ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

docker rm -f $(docker ps -q)

2. docker ๋ฐ๋ชฌ์„ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค.

systemctl stop docker

3. ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์›ํ•˜๋Š” ์œ„์น˜๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

cp -r /var/lib/docker /docker/data/storage

4. docker ๋ฐ๋ชฌ์—๊ฒŒ ์ƒˆ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ฐพ๋„๋ก ์ง€์‹œํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. -g ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ๋ชฌ์„ ์ƒˆ ๊ฒฝ๋กœ๋กœ ์ง€์ •ํ•˜๊ฑฐ๋‚˜ ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•œ systemd ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋˜๋Š” ์‹ฌ๋ณผ๋ฆญ ๋งํฌ. ์ด์— ๋Œ€ํ•ด ๋„ˆ๋ฌด ์ž์„ธํžˆ ์„ค๋ช…ํ•˜์ง€๋Š” ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋“ํ•œ ๋„์ปค ๋ฃจํŠธ๋ฅผ ์ƒˆ ์œ„์น˜๋กœ ์ด๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋งค๋‰ด์–ผ์ž…๋‹ˆ๋‹ค.

5. docker ๋ฐ๋ชฌ์„ ์‹œ์ž‘ํ•˜๊ณ  ์˜ฌ๋ฐ”๋ฅธ ์œ„์น˜์— ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

systemctl status docker

์ถœ๋ ฅ ๋ผ์ธ ์ค‘ ํ•˜๋‚˜์—์„œ ๋‹ค์Œ์„ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

โ”œโ”€19493 /usr/bin/dockerd --data-root=/docker/data/storage

์˜ต์…˜์ด ๋ฐ๋ชฌ์— ์ „๋‹ฌ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ–ˆ์œผ๋‹ˆ ์ด์ œ ์ ์šฉ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. (๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ž‰ํฌ๋น„์ง€ํ„ฐ68sl)!

docker info | awk '/Root Dir/ {print $NF}' 

6. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹œ์ž‘ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

docker-compose up -d

7. ํ™•์ธ

๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์„œ ์žฌ๋ฏธ๊ฐ€ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. DBMS, MQ, ๋ชจ๋“  ๊ฒƒ์ด ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค! ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์†์ƒ๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ nginx๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” Kerberos์™€ ์ฐฝ๋…€๋ฅผ ์‚ฌ์šฉํ•œ ์ž์ฒด nginx ๋นŒ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ปจํ…Œ์ด๋„ˆ ๋กœ๊ทธ๋ฅผ ๋ณด๋ฉด /var/tmp์— ์“ธ ์ˆ˜ ์—†๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๊ถŒํ•œ์ด ๊ฑฐ๋ถ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ด€์ž๋†€์ด๋ฅผ ์†๊ฐ€๋ฝ์œผ๋กœ ์ฃผ๋ฌด๋ฅด๋ฉฐ ์ƒํ™ฉ์„ ๋ถ„์„ํ•ด๋ณธ๋‹ค... ์ด๊ฒŒ ์–ด๋–ป๊ฒŒ ๊ฐ€๋Šฅํ• ๊นŒ? Docker ์ด๋ฏธ์ง€๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋ฐฉ๊ธˆ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์˜ฎ๊ฒผ์Šต๋‹ˆ๋‹ค. ํ•ญ์ƒ ์ž‘๋™ํ–ˆ๊ณ  ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค... ์‹คํ—˜์„ ์œ„ํ•ด ์†์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ์— ๋“ค์–ด๊ฐ€์„œ ์ด ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฃจํŠธ, ๋ฃจํŠธ 755, ์ฃผ์—ˆ๋‹ค ๋ฃจํŠธ, ๋ฃจํŠธ 777. ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค... ๋‚ด ๋จธ๋ฆฟ์†์— ์ƒ๊ฐ์ด ๋“ค๋ฆฌ๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ผ์ข…์˜ ๋ง๋„ ์•ˆ๋˜๋Š” ์†Œ๋ฆฌ... ์•„๋งˆ๋„ ์ œ๊ฐ€ ๋ญ”๊ฐ€๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š์•˜์„ ์ˆ˜๋„ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค...

๋‚˜๋Š” ์ „์†ก ์ค‘์— ํŒŒ์ผ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ๋งˆ์Œ์— ๋“ค์—ˆ๋‹ค๊ณ  ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. docker ๋ฐ๋ชฌ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ค‘์ง€ํ•˜๊ณ  ์ƒˆ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์‚ญ์ œํ•œ ๋‹ค์Œ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ /var/lib/docker ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค. rsync -a.

์ด์ œ ๋ชจ๋“  ๊ฒƒ์ด ๊ดœ์ฐฎ์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. Docker ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์˜ฌ๋ ค๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์•„์•„ ๊ทธ๋ฆฌ๊ณ ... ๋ฌธ์ œ๋Š” ๋‚จ์•˜์Šต๋‹ˆ๋‹ค... ๋ˆˆ์ด ๊ฟˆํ‹€๊ฑฐ๋ ธ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์„œ๋‘˜๋Ÿฌ ๊ฐ€์ƒ ๋จธ์‹ ์˜ ์ฝ˜์†”๋กœ ๊ฐ€์„œ ๋‹ค์–‘ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. nginx ์ด๋ฏธ์ง€๊ฐ€ ์žˆ์—ˆ๊ณ  ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€๋กœ ์˜ฌ๋ผ๊ฐ”์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ /var/tmp ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋Œ€ํ•œ ๊ถŒํ•œ์€ ๋ฃจํŠธ, ๋ฃจํŠธ 777์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์ˆ˜๋™์œผ๋กœ ์„ค์ •ํ•ด์•ผ ํ–ˆ๋˜ ๊ฒƒ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ฏธ์ง€๋Š” ๋™์ผํ•ฉ๋‹ˆ๋‹ค!

xfs ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ๋ชจ๋“  ๊ณณ์—์„œ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๊ตํ–ˆ๋‹ค

docker inspect my-nginx:12345

๋ชจ๋“  ํ•ด์‹œ๋Š” ์ผ๋Œ€์ผ๋กœ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„์™€ ๊ฐ€์ƒ ๋จธ์‹  ๋ชจ๋‘์—์„œ. ๋กœ์ปฌ nginx ์ด๋ฏธ์ง€๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ด์œ ๋กœ ๋™์ผํ•œ ์‹œ์Šคํ…œ์— ์žˆ๋Š” ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ ๋‹ค์‹œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฌธ์ œ๋Š” ๋˜‘๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋‘ ๋ฒˆ์งธ ๋ˆˆ์ด ๊ฟˆํ‹€๊ฑฐ๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” "AAAAAAAAAA"๋ผ๊ณ  ์™ธ์น˜๋Š” ๊ฒƒ ์™ธ์— ๋‚ด ๋จธ๋ฆฟ์†์— ์–ด๋–ค ์ƒ๊ฐ์ด ๋“ค์—ˆ๋Š”์ง€ ๋” ์ด์ƒ ๊ธฐ์–ตํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ๋ฒฝ 4์‹œ์˜€์œผ๋ฉฐ ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด ํ•ด์‹ฑ์˜ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด Docker ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์„ธ ๋ฒˆ์งธ ์—๋„ˆ์ง€ ๋“œ๋งํฌ ์บ”์„ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฒฐ๊ตญ ํ•ด์‹ฑ์€ ํŒŒ์ผ๊ณผ ๊ทธ ๋‚ด์šฉ๋งŒ ๊ณ ๋ คํ•˜์ง€๋งŒ ์ ‘๊ทผ๊ถŒํ•œ ์—†์Œ! ์ฆ‰, ์•Œ ์ˆ˜ ์—†๋Š” ๋ฐฉ์‹์œผ๋กœ ์šฐ๋ฆฌ์˜ ๊ถŒ๋ฆฌ๊ฐ€ ์ƒ์‹ค๋˜๊ณ , selinux๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋˜๊ณ , acl์ด ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ, ๋ˆ์ ํ•œ ๋น„ํŠธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋กœ์ปฌ ์ด๋ฏธ์ง€๋ฅผ ์‚ญ์ œํ•˜๊ณ  Docker ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ๋„ ์ด๋ฏธ์ง€๋ฅผ ์‚ญ์ œํ•œ ํ›„ ๋‹ค์‹œ ํ‘ธ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ „์†ก ์ค‘์— ๋กœ์ปฌ ์ด๋ฏธ์ง€ ๋‚ด๋ถ€์™€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์žˆ๋Š” ์ด๋ฏธ์ง€ ๋‚ด๋ถ€ ๋ชจ๋‘์—์„œ ๊ถŒํ•œ์ด ์†์‹ค๋œ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ด๋ฏธ ๋งํ–ˆ๋“ฏ์ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ด์œ ๋กœ ๊ฐ™์€ ์ฐจ์— ์œ„์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ํ•˜๋‚˜์˜ ๋””๋ ‰ํ† ๋ฆฌ์— /var/lib/docker.

๊ทธ๋ฆฌ๊ณ  ๊ทธ๋“ค์ด ๋„์ปค์˜ ์‹œ์„ ์„ ์ด์ „ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๋˜๋Œ๋ฆฌ๋ ค ์‹œ๋„ํ–ˆ๋Š”์ง€ ์—ฌ๋ถ€์— ๋Œ€ํ•œ ์งˆ๋ฌธ์„ ์˜ˆ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„๋‹ˆ์š”, ์•„์‰ฝ๊ฒŒ๋„ ์ƒํ™ฉ์ด ํ—ˆ์šฉํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋„ค, ๊ทธ๋ฆฌ๊ณ  ์ €๋Š” ์ •๋ง๋กœ ๊ทธ๊ฒƒ์„ ์•Œ์•„๋‚ด๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ธ€์„ ์“ด ํ›„์—๋Š” ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์ด ๋ถ„๋ช…ํ•ด ๋ณด์˜€์ง€๋งŒ, ๋ถ„์„ ๋‹น์‹œ์—๋Š” ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. ์†”์งํžˆ ๊ตฌ๊ธ€๋งํ–ˆ๋Š”๋ฐ ๋น„์Šทํ•œ ์ƒํ™ฉ์€ ๋ชป ์ฐพ์•˜์–ด์š”.

๊ฒฐ๊ณผ: ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ์ด์œ ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค =(

์ด ๋ฌธ์ œ์˜ ๊ฐ€๋Šฅํ•œ ์›์ธ์— ๋Œ€ํ•ด ์•Œ๊ณ  ์ถ”์ธกํ•˜๋Š” ์‚ฌ๋žŒ์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ๋ถ„์˜ ์˜๊ฒฌ์„ ๋“ฃ๊ฒŒ ๋˜์–ด ๋งค์šฐ ๊ธฐ์  ๊ฒƒ์ž…๋‹ˆ๋‹ค!

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€