06E. Docker ๋ฐ์ดํฐ ๋ณผ๋ฅจ ์ปจํ ์ด๋ ์ฌ์ฉํ๊ธฐ
06E. Docker ๋ฐ์ดํฐ ๋ณผ๋ฅจ ์ปจํ ์ด๋ ์ฌ์ฉํ๊ธฐ ๊ด๋ จ
์์์ ๋ฐ์ดํฐ ๋ณผ๋ฅจ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์์ต๋๋ค. ๋ฐ์ดํฐ ๋ณผ๋ฅจ ์ปจํ ์ด๋๋ ๋ฐ์ดํฐ ๋ณผ๋ฅจ์ ์ค์ ํ ์ปจํ ์ด๋๋ฅผ ๋ปํฉ๋๋ค. ์ผ๋ฐ ์ปจํ ์ด๋์์ ๋ฐ์ดํฐ ๋ณผ๋ฅจ ์ปจํ ์ด๋๋ฅผ ์ฐ๊ฒฐํ๋ฉด ๋ฐ์ดํฐ ๋ณผ๋ฅจ ์ปจํ ์ด๋ ์์ ๋ฐ์ดํฐ ๋ณผ๋ฅจ ๋๋ ํฐ๋ฆฌ์ ์ ๊ทผํ ์ ์์ต๋๋ค.
๋ค์ ๋ช
๋ น์ ์
๋ ฅํ์ฌ ๋ฐ์ดํฐ ๋ณผ๋ฅจ ์ปจํ
์ด๋๋ฅผ ์์ฑํฉ๋๋ค(์ปจํ
์ด๋ ์ด๋ฆ์ด ์ค๋ณต๋๋ฉด ๊ธฐ์กด ์ปจํ
์ด๋๋ docker rm
๋ช
๋ น์ผ๋ก ์ญ์ ํฉ๋๋ค). ์ปจํ
์ด๋์ Bash ์
ธ์ด ์คํ๋๋ฉด /data
๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํ ๋ค hello2
๋ผ๋ ๋น ํ์ผ์ ์์ฑํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ Ctrl+P, Ctrl+Q๋ฅผ ์ฐจ๋ก๋๋ก ์
๋ ฅํ์ฌ ์ปจํ
์ด๋๋ฅผ ์ ์งํ์ง ์๊ณ Bash ์
ธ์์ ๋น ์ ธ๋์ต๋๋ค.
sudo docker run -i -t --name hello-volume -v /root/data:/data ubuntu /bin/bash
cd /data
touch hello2
์ผ๋ฐ ์ปจํ
์ด๋๋ฅผ ์์ฑํ๋ฉด์ ๋ฐฉ๊ธ ์์ฑํ hello-volume
๋ฐ์ดํฐ ๋ณผ๋ฅจ ์ปจํ
์ด๋๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค. ์ปจํ
์ด๋์ Bash ์
ธ์ด ์คํ๋๋ฉด /data
๋๋ ํฐ๋ฆฌ์ ํ์ผ ๋ชฉ๋ก์ ์ถ๋ ฅํฉ๋๋ค.
sudo docker run -i -t --volumes-from hello-volume --name hello ubuntu /bin/bash
ls /data
#
# hello2
๋ฐ์ดํฐ ๋ณผ๋ฅจ ์ปจํ
์ด๋๋ฅผ ์ฐ๊ฒฐํ๋ ์ต์
์ --volumes-from <๋ฐ์ดํฐ ๋ณผ๋ฅจ ์ปจํ
์ด๋>
ํ์์
๋๋ค.
์ด์ ๋ฐ์ดํฐ ๋ณผ๋ฅจ ์ปจํ
์ด๋์์ ์์ฑํ hello2 ํ์ผ์ด ๋ณด์
๋๋ค(ํธ์คํธ์ /root/data
์ ์ฐ๊ฒฐํ๊ธฐ ๋๋ฌธ์ ์์์ ์์ฑํ ๋ค๋ฅธ ํ์ผ๋ค์ด ๋ณด์ผ ์๋ ์์ต๋๋ค).
์ง๊ธ์ ์ผ๋ฐ ์ปจํ ์ด๋๋ฅผ ํ๋๋ง ์ฐ๊ฒฐํ์ง๋ง ๋ฐ์ดํฐ ๋ณผ๋ฅจ ์ปจํ ์ด๋์ ์ผ๋ฐ ์ปจํ ์ด๋๋ฅผ ์ฌ๋ฌ ๊ฐ ์ฐ๊ฒฐํด๋ ๋ฉ๋๋ค.
๋ค์ ๋ช
๋ น์ฒ๋ผ /data
๋๋ ํฐ๋ฆฌ๋ฅผ ํธ์คํธ์ ํน์ ๋๋ ํฐ๋ฆฌ์ ์ฐ๊ฒฐํ์ง ์์๋ ๋ฐ์ดํฐ ๋ณผ๋ฅจ ์ปจํ
์ด๋๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
sudo docker run -i -t --name hello-volume -v /data ubuntu /bin/bash