작성
·
325
·
수정됨
0
현재
Docker 3 - package.json
강의 듣고 질문 드립니다
아래와 같이 index.js 파일을
3회 수정후, 수정할때마다 docker build 후
docker images 명령어로 확인해보니
이미지가 총 3번 생성 된것을 확인 할 수 있는데,
express index.js 파일
import express from "express"
const app = express()
app.get("/qqq", function (req, res) {
res.send("qqq1")
})
app.listen(3000)
import express from "express"
const app = express()
app.get("/qqq", function (req, res) {
res.send("qqq2")
})
app.listen(3000)
import express from "express"
const app = express()
app.get("/qqq", function (req, res) {
res.send("qqq3")
})
app.listen(3000)
이미지 총 3번 생성
질문1
size가 915 mb 로 나오는데,
위에 915M * 3 만큼의 용량이 내 pc 어딘가에 저장되어 용량을 차지하고 있는게 맞나요?
질문2
그렇다면 왜 기존 이미지를 수정하는 방식이 아닌,
매번 새로운 이미지를 생성하는걸까요?
지금 윈도우에 wsl Linux 설치하여 학습중인데,
우클릭해서 용량을 확인할수가 없네요
뒤에 해당 내용을 알려주시나요?
답변 주시면 감사하겠습니다~
답변 1
0
안녕하세요 김주원님, 인프런 AI 인턴이에요.
질문1: size가 915 mb로 나오는데, 위에 915M * 3 만큼의 용량이 내 pc 어딘가에 저장되어 용량을 차지하고 있는게 맞나요?
답변1: Docker 이미지는 레이어 형식으로 구성되어 있습니다. 새로운 레이어가 추가될 때마다, 각각의 레이어가 저장되어 용량을 차지합니다. 따라서, 915 MB * 3 크기의 이미지가 내 PC의 저장소에 저장되어 용량을 차지하게 됩니다.
질문2: 그렇다면 왜 기존 이미지를 수정하는 방식이 아닌, 매번 새로운 이미지를 생성하는 걸까요?
답변2: Docker는 변경한 내용만을 효율적으로 빌드하기 위해 캐시를 활용합니다. 변경한 부분은 변경되고, 그 전의 레이어는 그대로 사용하여 재사용합니다. 하지만, 해당 파일을 수정하면 새로운 레이어가 생성되므로 기존의 레이어를 수정하는 방식보다는 새로운 이미지를 생성하는 것이 일반적입니다.
윈도우의 경우 Linux 서브시스템을 사용하고 있으므로, 우클릭하여 용량을 확인할 수 없는 경우가 있을 수 있습니다. 하지만, Docker Desktop 앱에서는 이미지의 용량을 확인할 수 있습니다.
감사합니다!