Diary Docker ETC Technical

dockercon live 2020 짧은 요약

0. 시작하기 전에

최근에 개인적으로 이것저것 많은 일이 발생해서, 생각하지도 못하게 정신없는 하루하루를 보내는 중입니다. 잘 되려는 일이라고 생각하는 중이지만, 꼭 듣고 싶었던 dockercon 에 대한 자료를 그래도 가장 우선 정리 하는게 좋겠다 싶어서 간단하게 시작해 보게 되었습니다.

1. dockercon live 2020

지금같은 시기에 컨퍼런스가 열리겠어? 라고 생각했지만, 역시 IT계통은 온라인에 강하다. 사람이 모이지 않아도 되는 기술력 위주의 행사라면 쇼를 줄이고 내용에 적극적이라는 것이다. 상업적일때는 컨퍼런스에서 얼굴도 비춰야 하고 일종의 행사와 쇼도 하면서 그에 따른 수익을 고민해야겠지만, 그렇지 않고 기초 기술분야라면 알아서들 이 코로나 시국에 온라인 방송으로 충분히 될것 이라는 예상이었다.

dockercon 은 이번에 제목과 같이 live(일부는 녹화도 있음) 방식으로 원하는 채널에 방송을 온라인으로 청취하고 질의 응답할 수 있는 채팅창을 준비 해 두었다. 국내 시간으로는 2020.05.29 01:00 ~ 05:30 이라는 정신 못차리는 시간대라서 나중에 홈페이지에 필요한 내용만 따로 청취했다.

https://docker.events.cube365.net/docker/dockercon
방송 스케쥴은 시간차이상 국내에서 실시간 듣기에는 매우 어려운 시간대였다. (혹시나 하지만, 내가 영어가 가능하다는 말은 어디에도 써있지 않다)

2. 관심있던 내용들

“Docker Desktop + WSL 2 Intergration Deep Dive”와 “New Docker Desktop Filesharing Features”

WSL2 를 꼭 써라는 내용이다. WSL2 의 장점으로 mount가 Windows 계열의 마운트가 좋아졌다는 내용인데, Docker에는 이로인해 엄청난 Cache의 기능이 확대되어 성능적 비약이 생긴다는 이야기였다. 사용자의 현재 위치를 Docker Volume Mount를 시키고 React를 시연하는 장면에서 Mount 위치에 있는 React 파일을 수정하였더니, 자동 빌드가 이뤄지고 React 화면이 다시 로드 되는 시간이 매우 짧았다. 마치 Local 환경에서 개발하듯이 말이다. 물론 Docker 개발하는 과정이 파일 한두개 고쳐가면서 빌드하지는 않지만, 그래도 많이 빨라지면서 대용량 DB 파일이라던지에 접근에 많이 수월해 졌고, Windows, Linux 간의 Path에 대한 내용이 WSL 2로 인해 개선되었다는 내용이 함께 이야기 되면서 좋아 졌다는 내용에서 공감되었다.

File Sharing 기능을 활성화 할 때 특정 위치를 선정하는게 중요(하위까지 이벤트감지 대상). (영국 발음 찐한 형님…)

“How to Improve Your Image Builds Using Advance Docker Build”

독일 분이었는데, “export DOCKER_BUILDKIT=1” 이 기억에 남는다. 일반적으로 Docker Build 시간을 개선하기 위해 From [Image]: AS [targetImageName] 형식을 써서 COPY –from를 사용하는 방식의 Multiple Stage Build 기법도 사용하기도 하는데 이런 방법은 Build 환경과 런타임 환경을 분리해서 하는 경우에는 더욱 더 최적화가 될수 있고 보안적으로도 좋을 수도 있다. (현실적으로 나눠쓰는 곳이 얼마나 되는지는 잘 모르겠지만, Mutilple Stage Build 방법은 여러번 고민해 본적은 있었다.)

그런데 이 분은 데모 영상에서 Docker Run 키워드에 sleep 10을 2번 주면서 대기 시간을 주면서 차이를 주는 효과를 보여줬는데, 27초 걸리는 빌드가 12초 걸리는 마술을 보여줬다. 딱히 한건 없고, export DOCKER_BUILDKIT=1 를 정의한 내용이다. 이해한 내용으로는 같은 호스트에서 발생한 내용은 무시하게 되었다는 내용으로 이해 했는데… 중간에 COPY –from 구문을 Caching 차원에서 날리면서 10초가 사라진거 같다.

더 나아가서는 SSH key 파일도 복사해서 마른오징어 짜내기 같은 기술을 보여주시는데 컨퍼런스가 진짜 개발자 위주로 되어 있구나 라는 느낌을 확실히 받았다. (독일산 덕후의 느낌이 …)

https://docker.events.cube365.net/docker/dockercon/content/Videos/6Ek4cH9EjN5yybtoY

“Your Container has Vulnerabilities. Now What?”

항상 Docker 기반에서 하다보면, 취약점 진단에 먼가 일이 생길것 같은데 말야… 란 생각이 들었는데, 물론 이건 어디까지나 생각이다. 이제 소스코드를 감시하고 취약점을 진단하는 것도 물론 생산자가 있다면 지속해야 하는 일이지만, Docker 분위기가 확산되고 있는 상황에서 내용을 알수 없는 Base Image들의 취약점을 어떻게 의심하지 않고 사용할 수 있을 것인가? 라는 내용에 대부분은 솔루션 있자나 정도로 하고 말았는데, 그래도 실체를 보는 느낌에서 감명깊었다.

snyk (발음:스니크) 에 대한 내용이다. alpine 3.7 기반으로 만들어진 Image를 빌드 하고 진단해 보니 21개의 issue가 발견되었는데, 문제가 alpine 3.7 Base Image를 사용해서 이다. 솔루션을 제공해 주는데, Base Image가 유효날짜가 지났다 라고 알려주면서 3.10 으로 교체 하였더니 깔끔하게 문제들이 사라졌다. (시연을 위해 아주아주 쉬운 내용을 골랐다는 느낌이….자연스럽게 다음내용은 복잡한 문제라고 하면서 시작한다. 발표나 영업좀 해본 형님이다.)

https://snyk.io/

그래서 시작된 두번째는 코드상에 문제가 있었으면 발견도 될까? 라는 관심이 생겼는데, 위와 비슷한 Image 기반검사였다.

검사후에 Alternative Image Types 를 제안해 준다. 현재 Ruby:2.5 에는 1high 이슈가 있는데, 아래중에 대체할만한게 있다는…

3. 마무리

진짜 짧은 영어실력이지만, IT계통에는 화면이 답이기 때문에 전혀 부담없이 볼수 있다. “https://docker.events.cube365.net/docker/dockercon” 시간이 지난 지금도 가입하고 메일 확인만 하면 모든 동영상이 가능하며, 코로나 시국으로 정보 취득에 제한이 있는 시점에 이렇게들 감투 빼고 전세계적으로 기술만 논의 한다는 점에서 매우 기억이 남는 밤이 었다.

더 많은 영상과 내용을 소개 하면 좋겠지만, 각자의 관심이 다 다를수도 있고 내용에 이견이 있을수도 있을수 있는 것들이 많으니 시간될때 마다 한번씩 보고 각자의 환경에서 적용 시도를 논의하는 것도 괜찮다고 생각한다.

댓글 남기기

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

%d 블로거가 이것을 좋아합니다: