44bits / feedback

5 stars 0 forks source link

만들면서 이해하는 도커(Docker) 이미지: 도커 이미지 빌드 원리와 OverlayFS #22

Open utterances-bot opened 4 years ago

utterances-bot commented 4 years ago

만들면서 이해하는 도커(Docker) 이미지: 도커 이미지 빌드 원리와 OverlayFS | 44bits.io

도커 이미지는 유니온 마운트 기술을 활용해 계층화된 레이어들로 구성되며, 도커 레지스트리를 사용해 쉽고 효율적인 공유를 가능하게 해줍니다. 이 글에서는 도커 이미지가 저장되는 방식과 도커 이미지 빌드의 원리, 그리고 그 바탕이 되는 유니온 마운트 구현체의 하나인 OverlayFS에 대해서 알아봅니다.

https://www.44bits.io/ko/post/how-docker-image-work

hoony-o-1 commented 4 years ago

와.... 이런 글은 좋아요 300개 댓글 300개도 모자랄 것 같아요. 깊이있는 내용에 이해도 잘되는 글이네요. 감사합니다 🙇🏻‍♂️

nacyot commented 4 years ago

와, 저야말로 영광입니다 ㅎㅎ 🙇🏻‍♂️ 🙇🏻‍♂️ 🙇🏻‍♂️ 메리 크리스마스 🎄🎄🎄

SeongJuMoon commented 4 years ago

읽고 많은 도움이 되었습니다 좋은 글 감사합니다. 🙇🏻‍♂️

yjkim0083 commented 4 years ago

도커를 쓰는방법만 알았는데 도커 내부에 대해서 알게되어 많은 도움이 되었습니다. 감사합니다. 🙇🏻‍♂️🙇🏻‍♂️

nacyot commented 4 years ago

SeongJuMoon, yjkim0083: 읽어주셔서 감사합니다!

dev-owner commented 4 years ago

글 정말 잘 보았습니다!

bryanbaek75 commented 4 years ago

내용 잘 읽었습니다. 당근 마켓 분들이 확실히 좋은 글들을 많이 쓰시는 군요. 많은 도움 되었습니다. ㅋ

rurusyu commented 4 years ago

어디에 저장되는지 부분에서 /var/lib/docker/ 이 부분은 어디서 확인 할 수 있는 것인가요? 자신의 컴퓨터 경로인가요? 제가 배경지식이 없다보니 여기서 막혔네요..ㅠoㅠ

nacyot commented 4 years ago

rurusyu // 안녕하세요. 이 글은 리눅스 배포판 중 하나인 우분투에서 도커를 사용하는 경우를 가정하고 작성되었습니다. 우분투에서 도커를 설치해서 사용하는 경우, 파일 시스템의 /var/lib/docker 에 이미지가 저장됩니다. 리눅스 사용자 입장에서는 자신의 경로가 맞습니다.

rurusyu commented 4 years ago

아 MAC에서 쓰고있는데.. 그럼 경로가 다른건가요? docker info 했을때 docker root dir 은 똑같은데

nacyot commented 4 years ago

rurusyu // Docker for Mac을 사용하신다면 docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh 명령어로 Docker가 실제로 실행중인 가상머신에 들어가볼 수 있습니다. 구조가 조금 다를 수는 있는데, 여기서 /var/lib/docker를 찾아보시면 됩니다.

맥에서도 VirtualBox 등 리눅스 가상 머신을 사용하시는 경우, ssh로 가상 머신에 접속해서 /var/lib/docker 아래를 탐색해보시면 됩니다.

rurusyu commented 4 years ago

감사합니다!!!

skyiwalker commented 4 years ago

전에도 nacyot 님 글을 통해 배우고 갔는데, 오랜만에 와서 부족한 부분 또 채우고 가네요. 이런 명 포스팅 남겨주셔서 너무 감사드리고, 저도 본받고 노력하는 개발자 되겠습니다. 아 그리고 도커 버전이 달라서 그런가 저는 아래와 같이 나오네요. $ docker inspect fceb1a9e2559 | jq '.[].GraphDriver' { "Data": null, "Name": "aufs" } 요런 형태로 나오면 버전 차이일까요?

nacyot commented 4 years ago

skyiwalker // 안녕하세요. AUFS도 유니온 마운트를 구현한 파일 시스템 중 하나입니다. 최근에는 OverlayFS가 리눅스 커널에 포함되면서 이걸 디폴트로 많이 사용하긴 하는데, 예전에는 우분투 계열에서 AUFS가 기본값으로 사용된 걸로 알고 있습니다. 파일시스템이 달라도 스토리지 드라이버로 추상화되어있어서 동작 방식 자체는 크게 다르지 않긴 합니다. (단, 파일 경로 찾을 때 overlay2를 aufs로 찾아야하고, 저장된 형식이 다를 수는 있습니다.)

https://docs.docker.com/storage/storagedriver/select-storage-driver/

skyiwalker commented 4 years ago

@nacyot 그렇군요. 설명해주신 아래와 같은 구조를 보고 싶었는데, null로 나와서 좀 아쉬워서 여쭤봤습니다. 추상화가 되어있어서 그런 모양이네요. 감사합니다.

"Data": { "LowerDir": "/var/lib/docker/overlay2/1f801c214d32d4ccd6e34e4185cca9707fd9b8ec28e2b63b857546e2b53568a1-init/diff:/var/lib/docker/overlay2/10a07b3d72ac36291843eb6ca01698649220065d3b3046f63546fcee49c3c36f/diff:/var/lib/docker/overlay2/7e5bc8d3a02343bf40d479979e734343faff52b8fc768959a24e860c30ae4b74/diff:/var/lib/docker/overlay2/e5b51f307392f7a3776edaa67d5d14b85e04dad9aeca753ac6ad30aaeaa55152/diff", "MergedDir": "/var/lib/docker/overlay2/1f801c214d32d4ccd6e34e4185cca9707fd9b8ec28e2b63b857546e2b53568a1/merged", "UpperDir": "/var/lib/docker/overlay2/1f801c214d32d4ccd6e34e4185cca9707fd9b8ec28e2b63b857546e2b53568a1/diff", "WorkDir": "/var/lib/docker/overlay2/1f801c214d32d4ccd6e34e4185cca9707fd9b8ec28e2b63b857546e2b53568a1/work" },

nacyot commented 4 years ago

skyiwalker // 넵 ㅜ 스토리지 드라이버를 바꿔보는 방법도 있긴한데, 간단하게 확인해보고자 한다면 Vagrant의 ubuntu 18.04 이상 box에서 도커 설치하면 기본적으로 overlay2가 잡혀서 비슷한 구조로 나올 것 같긴합니다. 제가 테스트한 환경도 Vagrant ubuntu 18.04 박스기는 합니다 ㅎㅎ.

giraffeb commented 4 years ago

좋은 글 감사합니다. 👏👏👏

NESOY commented 4 years ago

좋은 글 감사합니다. :)

jsungmin6 commented 4 years ago

이런 글 너무 감사합니다

pram11 commented 3 years ago

잘 읽었습니다. 감사합니다.

iamjjanga-ouo commented 3 years ago

감사합니다. Docker 공부에 매번 도움받고 있습니다.

bb-in-hoodie commented 3 years ago

이정도로 깊이 있는 글을 + 읽기 쉽게 풀어서 설명하신 것도 대단하시고 이런 글을 한국어로 읽을 수 있다는게 영광인 수준이네요.

도커도 얕게만 접했고 리눅스 쪽은 전혀 모르는데도, 설명이 너무 친절하셔서 쭉 잘 읽었습니다.

ggamzang commented 3 years ago

좋은 내용 잘 읽고 갑니다! :)

scott-altibase commented 3 years ago

도커 초보잔데 이해하기가 쉽지 않네요 겉핥기 식으로 사용하고 있는데 좀더 공부해야 겠네요

nacyot commented 3 years ago

scott-altibase // 이 글은 컨테이너 동작 원리를 소개하기 위한 글들이라서 도커 시작하는 분들에게는 조금 어려울 수 있습니다. 컨테이너 기술 자체에 대해서 몰라도 도커를 사용하는 데 큰 문제는 없으니, 시작하신다면 다음 글도 참고 부탁드립니다. 🙇‍♂️

subji commented 3 years ago

도커 이제 배우기 시작하는데, 천천히 따라가며 읽으니 어려운 내용이지만 그래도 좋은 설명 덕에 이해가 아주 잘됬어요!! 감사합니다.!

ProtossDragoon commented 3 years ago

정말 이해잘되는 글 너무 감사합니다!! 빛을 보았습니다 아아

junshock5 commented 2 years ago

좋은글 감사합니다..!!!

gogoonbuntu commented 2 years ago

이런 글이 무료라니.. 보물을 발견했네요. 많이 배우고 갑니다. 감사합니다.

prlhspt commented 2 years ago

Nacyot님 덕분에 도커 이미지에 대해서 많은 인사이트를 얻었습니다. 감사합니다.

csdic commented 1 year ago

감사합니다. 웬만하면 로그인하기 싫어서 글 남기지 않는데 너무 많은 도움이 되었습니다. ^^

chopinlab commented 1 year ago

와.. 대단하시네요. 존경합니다!!

gogoonbuntu commented 1 year ago

네 안녕하세요 늦은 답장 죄송합니다만 아직 유효하다면 제품 소개좀 부탁드릴게요

정승영 올림

-----Original Message----- From: @.> To: @.>; Cc: @.>; @.>; Sent: 2022-12-11 (일) 23:20:31 (GMT+09:00) Subject: Re: [44bits/feedback] 만들면서 이해하는 도커(Docker) 이미지: 도커 이미지 빌드 원리와 OverlayFS (#22)

안녕하세요 운영자님 인카토스입니다. 먼저, 댓글로 인사를 드리게 된 점 양해 부탁 드립니다. 이렇게 연락 드린 이유는 이번에 저희가 제작한 도커 각티슈케이스 제품 협찬을 제안드리고 싶어서 연락 드렸습니다. 개발자들에게 많은 사랑은 받은 각티슈케이스입니다. 저희 상품 블로그 포스팅이 가능하실지 여쭙고자 연락드렸습니다. 포스팅이 어려우시다면 도커 글 하단에 이미지와 링크만 좀 달아주셔도 좋을거같습니다. 연락드릴수 있는방법이 댓글밖에 보이지 않아 이렇게 먼저 연락드립니다. 협찬제안에 긍정적인 검토 부탁드리고 제안이 마음에 드신다면 하기 메일로 메일주시면 제품 보내드리도록 하겠습니다. @. 감사합니다. 인카토스 드림. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.>

raccoonyy commented 1 year ago

인카토스 분께는 별도로 답변을 드렸지만, 이 글에도 답을 남깁니다.

안녕하세요. 연락주셔서 고맙습니다. 협찬 수락에 앞서 궁금한 점이 있어서 여쭤봅니다. 제품에 Docker사의 로고가 노출되어 있는데요. 정식으로 로고 라이선스를 받은 제품인지요? (수입 제품이라면, 수입사 쪽에 확인해주시면 고맙겠습니다.)

sungjh0726 commented 1 year ago

저희제품에 관심주셔서 감사합니다 아쉽게도 협찬관련 상품 프로모션이 종료되었습니다

감사합니다.

네이버 메일 앱에서 보냈습니다. -----Original Message----- 보낸사람: "Gogoonbuntu" @.> 받는사람: "44bits/feedback" @.> 참조: "sungjh0726" @.>,"Comment" @.> 날짜: 2022.12.23 오전 00:59:09 (GMT+09:00) 제목: Re: [44bits/feedback] 만들면서 이해하는 도커(Docker) 이미지: 도커 이미지 빌드 원리와 OverlayFS (#22)

네 안녕하세요 늦은 답장 죄송합니다만 아직 유효하다면 제품 소개좀 부탁드릴게요

정승영 올림

-----Original Message----- From: @.> To: @.>; Cc: @.>; @.>; Sent: 2022-12-11 (일) 23:20:31 (GMT+09:00) Subject: Re: [44bits/feedback] 만들면서 이해하는 도커(Docker) 이미지: 도커 이미지 빌드 원리와 OverlayFS (#22)

안녕하세요 운영자님 인카토스입니다. 먼저, 댓글로 인사를 드리게 된 점 양해 부탁 드립니다. 이렇게 연락 드린 이유는 이번에 저희가 제작한 도커 각티슈케이스 제품 협찬을 제안드리고 싶어서 연락 드렸습니다. 개발자들에게 많은 사랑은 받은 각티슈케이스입니다. 저희 상품 블로그 포스팅이 가능하실지 여쭙고자 연락드렸습니다. 포스팅이 어려우시다면 도커 글 하단에 이미지와 링크만 좀 달아주셔도 좋을거같습니다. 연락드릴수 있는방법이 댓글밖에 보이지 않아 이렇게 먼저 연락드립니다. 협찬제안에 긍정적인 검토 부탁드리고 제안이 마음에 드신다면 하기 메일로 메일주시면 제품 보내드리도록 하겠습니다. @. 감사합니다. 인카토스 드림. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.> — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

icyou1992 commented 1 year ago

좋은 내용 감사드립니다!