일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- javascript
- typescript
- 깃허브
- 깃
- Firebase
- 리액트
- ReactError
- 깃커밋
- 클론코딩
- gitrevert
- HTML
- gitcommit
- github
- 프로그래머스
- API
- gitignore
- 프론트엔드개발자
- 코딩테스트
- 파이어베이스
- nextjs
- 패스트캠퍼스
- 리액트오류
- 자바스크립트
- js
- Git
- react
- 야놀자
- 국비지원취업
- webdevcurriculum
- 깃버전
- Today
- Total
Project.log
Docker(도커)란 무엇이고 왜 배우는가? 본문
Docker(도커)란 무엇인가?
Docker(도커)는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼입니다.
Docker는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등
소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있습니다.
Docker를 사용하면 환경에 구애받지 않고 애플리케이션을 신속하게 배포 및 확장할 수 있으며 코드가 문제없이 실행될 것임을 확신할 수 있습니다.
쉽게말해서
Docker(도커)는 애플리케이션을 컨테이너라는 단위로 묶어서, 환경에 구애받지 않고 어디서든 동일하게 실행되도록 해주는
오픈 소스 플랫폼입니다.
개발자는 도커를 사용하여 애플리케이션을 쉽고 빠르게 빌드, 배포, 실행 및 관리할 수 있습니다.
Docker(도커)는 왜 배우는가?
Docker(도커)의 장점은 인터넷에 검색해보면 정말 많습니다.
그 중에서 핵심 장점 딱 1가지는 이식성입니다.
이식성: 특정 프로그램을 다른 곳으로 쉽게 옮겨서 설치 및 실행할 수 있는 특성
예시를 하나 들어봅시다.
대학교 백엔드 강의시간에 Python을 설치하려고 합니다.
친구는 노트북에 Python을 아무 문제(에러)없이 잘 다운받고 설치했습니다.
그런데 내 노트북에 Python을 다운받으려고 하니 이상하게 문제(에러)가 발생했습니다.
분명히 교수님이 알려주신 방식대로 똑같이 설치하였는데 제대로 설치가 잘 안되었습니다.
Python을 삭제하고 다시 설치(다운)하여도 계속해서 똑같은 에러가 발생합니다.
내 노트북에만 Python 설치(다운)가 잘 안되었던 이유는 다양합니다.
- 운영체제(Mac OS, Window 등)가 다르다.
- 다른 버전으로 설치한 경우.
- 내 노트북(컴퓨터)에서 돌아가는 다른 프로그램과 충돌이 있거나 모종의 이유로 프로그램이 정상적으로 설치되지 않는 경우.
이 뿐만 아니라
- Python말고도 설치 과정이 복잡한 프로그램을 설치하는데 새 노트북(혹은 컴퓨터)를 사면 그때마다 다시 다운(설치)받아줘야하니까 번거롭고 귀찮을 수 있습니다.
이 문제점들을 해결하기 위해 Docker(도커)라는 툴이 나왔습니다.
Docker(도커)를 사용하면 명령어 한 줄로 어떤 노트북(혹은 컴퓨터)에든 Python등의 프로그램을 문제(에러&오류)없이 설치하고
실행할 수 있습니다.
뿐만 아니라 Docker(도커)는 다른 장점도 있습니다.
- 항상 일관되게 프로그램을 설치할 수 있습니다. (버전, 환경설정, 옵션, 운영체제 등)
- 매번 귀찮은 설치 과정을 일일이 거치지 않아도 됩니다.
- 각 프로그램이 독립적인 환경에서 실행되기 때문에 프로그램 간에 서로 충돌이 일어나지 않습니다.