Docker

다녔던 대부분의 회사에서 도커를 사용했다. 물론 나와는 별개의 이야기인 경우가 많았다. 이미 누가 세팅해놔서 신경쓰지 않아도 됐거나, 프론트엔드에서는 사용을 안하는 경우도 많았다. 하지만 계속 거론되고 있고 사용하는 기술이기 때문에 너무 궁금하기도 했고, 도커를 만질 일이 곧 생겨 미리 공부해 보려고 한다.

왜 도커를 사용하지?

도커(Docker)는 컨테이너라고 하는 느슨하게 격리된 환경에서 애플리케이션을 패키징하고 실행할 수 있는 기능을 제공하며 격리 보안을 통해 주어진 호스트에서 많은 컨테이너를 동시에 실행시킬 수도 있다. 컨테이너는 가볍고 애플리케이션을 실행하는데 필요한 모든 것을 포함하므로 현재 호스트에 설치된 것에 의존할 필요가 없다. 작업하는 동안 컨테이너를 쉽게 공유할 수 있으며 공유하는 모든 사람이 동일한 방식으로 작동하는 동일한 컨테이너를 갖게 된다. - docker 공식문서 -

Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼입니다. Docker는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있습니다. Docker를 사용하면 환경에 구애받지 않고 애플리케이션을 신속하게 배포 및 확장할 수 있으며 코드가 문제없이 실행될 것임을 확신할 수 있습니다. - AWS에서 소개하는 Docker의 정의 -

이 내용만 봐서는 환경에 구애받지 않고 동일한 환경으로 가볍게 애플리케이션을 실행할 수 있으니 좋을거 같다는 생각이 들지만 사실 아직 감이 확오진 않는다. 한 가지 간단한 예를 들어보자. 우리가 애플리케이션을 실행한다고 하면, 아래와 같은 과정이 필요하다.

인스톨러를 내려받고, 인스톨러를 실행하여, 프로그램 설치를 완료

환경에 구애받지 않는다는 것은 바로 이런거다. 위 과정에서 내가 윈도우건, 리눅스건, macos이건 상관없고 서버가 어떤거건 패키지 버전이 어떻건 다 상관없이 환경에 구애받지 않고 동일한 환경으로 실행시켜준다는 것이다. 이것을 도커 컨테이너를 통해 가능하게 해준다는 것이다.

Docker가 컨테이너라는 말인가?

그런 말이 아니다. Docker컨테이너를 위한 운영체제이며, 각 서버에 설치되어 컨테이너를 구축, 시작, 중단하는데 사용할 수 있는 명령어를 제공해 준다.(도커는 코드를 실행하는 표준 방식을 제공해 주는 것이다.) 우리는 도커를 더 잘 이해하기 위해서 컨테이너에 대해 명확히 알아야 하며, 컨테이너를 알기 위해서는 도커 이미지에 대해 알아야 한다.

갑자기 도커 이미지?

도커 이미지란 컨테이너를 정의하는 읽기 전용 템플릿이다. 이 이미지에는 코드에 필요한 라이브러리, 종속성에 대한 정의, 실행되는 코드가 포함되어 있다. 이런 도커 이미지가 인스턴스화된(실행되는) 것이 바로 도커 컨테이너이다.

  • 아하, 도커 컨테이너는 도커 이미지의 인스턴스구나.

  • 도커 컨테이너를 실행하면, 그 건테이너 안에서 실행하고자 하는 애플리케이션을 실행할 수 있겠네!

도커의 아키텍처

위에 설명을 보고 이제 도커 공식문서에 나온 아키텍처를 보면 아주 조금! 알까 말까한 느낌이 들면서도 더 알고 싶은 학습욕이 솟구치게 된다(?). 가즈아!


Docker 설치하기

일반적인 설치는 공식 문서에 제공하는 다운로드를 통해 진행하면 된다. 참고로 내가 사용하는 환경은 apple silicon(M1 Mackbook pro)이다.

Aplle silicon mac이라면...

Rosetta2로 업데이트 해준다.참고 링크

$ softwareupdate --install-rosetta

설치가 완료되면 위와 같은 아이콘을 눌러 도커를 실행하자.

"Docker Desktop needs privileged access."

ok누르고 본인 mac의 암호를 입력 하면 된다.

도커 설치 확인

터미널(bash, zsh 등)에 docker version이라고 명령어를 입력하면 도커 클라이언트와 서버의 정보가 잘 나온다면 성공한 것이다.

튜로리얼?

필수는 아니지만, 해볼거라면 단순히 클릭만 하지말고, 위에 있는 도커 아키텍처를 보면서 흐름을 느껴보자.

id, pw?

도커 홈페이지에서 회원 가입을 한 후 아이디와 암호를 입력하면 된다.


설치 완료 후

도커 데스크탑과 도커 허브를 보며 눌러보고 실행해보고 정지도 해보자. 그리고 계속 도커 아키텍처 이미지를 다시 보면 이해하는데 도움이 많이 된다.

이 다음 내용은 다음 글에서 이어서 진행해 보겠다.

Last updated