되돌아보기

[WIL] 3월 5주차 회고ㅣ도커 챌린지와 독서

오늘 ONEUL 2023. 4. 2. 00:34

 

이번 주 톺아보기

 

🐳 도커(Docker) 그게 뭔데?

말로만 듣던 도커를 찍먹 해볼 수 있는 기회가 생겼다.
원티드에서 주관하는 [프리온보딩 백엔드 챌린지 4월]에서 도커에 대해 다룬다.

(4월 백엔드 챌린지) Docker: 나만의 도커 이미지 만들기부터, 클라우드 배포까지!

제대로 강의를 듣기 전, 사전 과제를 하면 도커가 무엇인지 살펴보도록 하자.

 

 

컨테이너 기술이란?

컨테이너는 운영 체제 가상화의 한 형태로 애플리케이션과 필요한 모든 파일을 하나의 런타임 환경으로 묶는 데 사용하는 기술이다. 서버 또는 머신 가상화 접근 방식과 달리 운영 체제 이미지가 포함되어 있지 않기 때문에 더 가볍고 휴대성이 좋다.

 

Docker(도커)란?

도커는 컨테이너 환경에서 독립적으로 애플리케이션을 실행할 수 있도록 컨테이너를 만들고 관리하는 것을 도와주는 도구이다.

👉 노마드 코더의 [Docker 가 왜 좋은지 5분 안에 설명해줌]

 

도커 파일, 도커 이미지, 도커 컨테이너의 개념은 무엇이고, 서로 어떤 관계일까?

도커 파일은 도커 이미지를 생성하기 위한 파일이다. 도커 이미지는 컨테이너 실행에 필요한 파일과 설정을 포함하고 있는 것으로 상태값을 가지지 않고 변하지 않는다. 도커 컨테이너는 이미지를 실행한 상태를 의미한다.

 

Windows10에 도커 설치하기

1. Microsoft Store에서 윈도우 터미널(Windows Terminal) 설치

더보기

윈도우 터미널(Window Terminal)이란?

 

윈도우 터미널은 깃허브(Github)에서 오픈 소스를 사용할 수 있도록 만든 프로젝트이다. 명령 프롬프트와 파워쉘을 호환하는 것뿐만 아니라 리눅스(Linux), WSL용 윈도 하위 시스템도 지원한다. 일반적으로 리눅스 OS에서 국한되어 있는 BASH도 사용할 수 있다.

 

2. WSL2 설치

윈도우 터미널을 관리자 권한으로 실행하여 다음 명령을 실행

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

 

3. 윈도우 재부팅

 

4. Lunx커널 업데이트 최신 패키지 다운로드

🔗 https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

다운로드 후 윈도우 터미널을 열고 다음 명령을 실행

wsl --set-default-version 2

 

5. 윈도우용 Docker Desktop 설치

🔗 https://www.docker.com/products/docker-desktop/

 

6. 설치 다 되면 설치 확인

윈도우 터미널을 관리자 권한으로 실행하여 다음 명령을 실행

wsl -l -v

 

7. 도커 버전 확인

docker version

 

8. 실행 중인 컨테이너 확인

docker ps

 

 

여기까지 윈도우10에 도커를 설치해 보았다.
간단하게 "Hello World"를 출력하는 도커 파일을 만들어 빌드 후
이미지를 실행하는 과정은 깃헙에서 확인할 수 있다.

 

GitHub - eunsol-an/docker-pro-wanted: 원티드와 함께하는 Docker 뽀개기

원티드와 함께하는 Docker 뽀개기. Contribute to eunsol-an/docker-pro-wanted development by creating an account on GitHub.

github.com

 

 

📖 다시 시작하는 독서

요즘 [개발자 상식: 개발자가 되기 전에 알았어야 할 것들]이라는 책을 읽고 있다.
지난번 점핏이 주관하는 행사에서 받은 책인데
그동안 손이 잘 안 가다가 무슨 바람이 불었는지
마음의 양식을 좀 채우고 싶어서(?) 급 읽기 시작했다.

개발 문화, 프로그래밍 언어, CS, 클라우드, 블록체인, 메타버스까지
IT 기술, 환경에 관한 넓고 얇은 지식을 담고 있다.

내용이 어렵지 않아서 술술 읽히고
그동안 귀동냥으로만 들어왔던 내용들을 명확히 정의해 줘서
나름 재밌게 읽는 중!

 

 

 

이번 주의 나는

새로운 공부는 언제나 하기 전이 가장 두렵고
막상 할 때는 시간 가는 줄 모르게 하는 것 같다.
그러니 일단 시도해 보자!

마지막으로,
이번 [우아한 테크 세미나]에서 인프랩의 동욱 님이 이런 얘기를 해주셨다.

  • 항상 감사하기
  • 제어할 수 없는 것에 거리두기
  • 제어할 수 있는 것에 집중하기

코드/설계에서도, 조직 내에서도, 내 삶에서도
제어할 수 없는 것을 현명하게 구분하고 그에 의존하지 않기를.
내가 제어할 수 있는 것들에 집중할 수 있기를.