
Docker?
Docker는 개발자가 컨테이너를 빌드, 배포, 실행, 업데이트, 관리할 수 있는 오픈 소스 플랫폼입니다.

웹 개발을 하기 위해서는 위의 이미지처럼 운영체제에 웹 서버와 데이터베이스 등을 설치해야 합니다.
하지만 이런 개발 환경을 구축하기에는 매우 까다롭습니다.

만약 각각 돌아가는 OS가 다른 경우 컴퓨터를 여러 대 구해 서버 전용 컴퓨터, DB 전용 컴퓨터로 나눠 개발 환경을 구축하고 앱은 네트워크 통신을 통해 서버와 DB에 접근을 합니다. 하지만 이 방법은 컴퓨터가 3대나 필요하기에 비용이 많이 듭니다 .

비용을 절약하기 위해 하나의 컴퓨터에 Vmware나 Virtualbox를 사용해 가상으로 운영체제를 만들고 그 위에 웹 서버를 설치하는 경우 컴퓨터를 별도로 장만할 필요 없습니다. 하지만 이는 운영체제 위에 운영체제가 있기에 실행 속도가 느립니다 (운영체제는 용량이 큼)
그래서 나온 개념이 컨테이너입니다.

운영체제가 설치된 컴퓨터를 host, host에서 실행되는 격리된 각각의 실행환경을 container라고 합니다.
container에는 운영체제가 설치된 것이 아닌 앱을 실행하는데 필요한 라이브러리와 실행 파일들만 포함되어 있습니다.
이미 존재하는 운영체제를 공유하기에 무엇인가를 설치할 필요도 없으며, 운영체제가 하나이기에 속도도 빠르고 저장 장치 용량도 아낄 수 있습니다.

리눅스 운영체제에는 이런 앱 실행 방법이 내장되어 있는데 이러한 기술을 컨테이너라 합니다.
컨테이너 기술을 이용하여 이런 일을 쉽게 해주는 소프트웨어 중 가장 유명한 것이 Docker입니다.
Docker 설치

도커 위에서 돌아가는 컨테이너들은 리눅스 운영체제에서 동작합니다.
그렇기에 사용하는 컴퓨터가 리눅스 운영체제가 아닌 경우, 가상머신을 설치하고 Linux 운영체제를 구축해야 합니다.
도커가 알아서 가상머신을 만들고 Linux 환경을 구축해 주기에 도커만 설치하면 됩니다. (성능 저하가 살짝 있지만 그보다 편의성 면에서 얻는 이득이 큼)
Get Docker
Download and install Docker on the platform of your choice, including Mac, Linux, or Windows.
docs.docker.com
도커 설치는 위의 사이트에 들어가서 컴퓨터 운영체제에 맞게 설치하시면 됩니다.

Docker Desktop을 실행 후, docker images 명령어를 실행 시, REPOSITORY, TAG 등의 결과가 나온다면 정상적으로 설치가 된 것입니다.

Image? Pull?

- docker hub: Image들의 저장소
- image: 도커에서 필요한 서버 프로그램 + 소스코드 + 실행 파일을 하나로 묶은 파일
- container: image를 실행한 상태, 한 개의 image가 여러 개의 container를 가질 수 있음
- pull: docker hub에서 image를 다운받는 행위
- run: image를 container로 만들고 실행되면서 container 안에 포함되어 있는 파일들을 실행
참고자료
생활코딩 Docker 입구 수업
www.youtube.com
'도커' 카테고리의 다른 글
| [Docker] Spring Boot + Docker + EC2 배포 (0) | 2024.01.12 |
|---|
느리더라도 단단하게 성장하고자 합니다!
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!