Docker 처음 사용하기

2019-11-13


회사에서 특정 프로젝트에서 도커를 사용하고 있어 짧게나마 공부한 내용을 잊지 않고자 정리한 것으로 다소 정확하지 않은 부분이 있을 수 있습니다.


도커란?

https://www.docker.com/resources/what-container

소프트웨어 어플리케이션의 배포를 자동화 시켜주는 오픈소스 컨테이너.

도커는 컨테이너화 된 플랫폼으로, 앱과 그에 필요한 모든 디펜던시들을 도커 컨테이너의 형태로 패키징하여 애플리케이션이 어떤 환경에서도 동작할 수 있도록 한다.

도커를 가장 큰 특징은, 도커는 널리 쓰이는 개념인 가상머신(VM)과는 다른 개념이라는 것이다.(이부분은 잘 설명된 글들을 참고하자)

도커 컨테이너?

컨테이너는 각자 격리되어 있고, 각자 가지고있는 소프트웨어 라이브러리 그리고 설정 파일을 번들링한다. 하나의 서버에 여러개의 컨테이너를 가질 수 있고 이는 각자 독립적으로 실행된다.

컨테이너는 실제 실행 환경으로 부터 어플리케이션을 추상화시키는 패키징 매커니즘을 제공한다. 이 분리를 통해 컨네이너 기반의 어플리케이션을 다양한 환경에서도 쉽고 일관되게 배포할 수 있다.

도커 이미지?

도커 이미지는 도커 컨테이너의 토대가 된다. 이미지는 어플리케이션과 그에 필요한 내용을 담고있는 일종의 템플릿이다. 도커 컨테이너는 도커 이미지의 인스턴스라고 할 수있다. 컨테이너와 이미지의 주요 차이점은 컨테이너는 쓰기 가능한 레이어가 있다. 또한 이미지는 여러개의 레이어로 구성된다.

설치하기

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

맥에서는 Docker 사이트에서 Docker for Mac을 다운받아 설치하면 간편하게 도커 설치가 끝난다. 도커 앱을 실행시키면 이제 명령어를 통해 도커를 사용할 수 있다.

도커 컴포즈

컴포즈는 멀티 컨테이너 도커 앱을 보다 쉬운 방법으로 정의하고 실행하는데 사용된다. 컴포즈는 `doker-compose.yml` 파일을 사용해 어플리케이션 서비스를 구성한다.

도커 명령어

컨테이너 라이프사이클

컨테이너 시작하고 멈추기

컨테이너 정보

이미지

도커 컴포즈