문서정보 : 2022.09.22. 작성, 작성자 @SAgiKPJH
- 개인적으로 모든 사람들이 Docker에 대해 배울 필요는 없다.
- 하지만 Docker이 무엇인지 이해하고 있어야 한다.
- [+Docker+]는 [-아주 특정한 문제점을 해결-]해준다.
- Environment disparity : 본인이 작성한 코드가 본인 PC에서 잘 작동하지만, 다른 PC 또는 서버에서 잘 작동을 하지 않는 문제
- 예) 라이브러리의 버전이 달라서 발생
- 예) 운영체제가 Windows가 아닌 Linux여서 발생
- Environment disparity : 본인이 작성한 코드가 본인 PC에서 잘 작동하지만, 다른 PC 또는 서버에서 잘 작동을 하지 않는 문제
- Docker는 [+다른 머신에서도 같은 환경을 구현+]할 수 있다.
- Docker 사용 법
- Docker를 윈도우에 설치, 대상 pc또는 서버에도 Docker를 설치한다.
- Dockerfile이라는 Docker 파일을 만든다.
- 여기서 환경을 설정한다.
- 예) 우분투, 파이썬, 깃, 노드, ...
- Dockerfile을 전송하여 실행하여, 필요한 환경을 전부 다운받는다.
- 해당 환경과 같은 Virtual Container를 컴퓨터에 만든다.
- 서버 또는 다른 PC에서도 잘 작동한다.
- Docker들은 각각 개별적으로 [-독립적으로 돌아간다.-]
- 한개의 서버에 여러 Container들을 실행할 수 있다.
- 다양한 Container들을 관리할 수 있다.
- Docker덕분에 매번 새로운 서비스를 만들때마다 새로운 서버를 사고 설정할 필요가 없다.
- 컨테이너를 생성하고 원하는 만큼 복제하면 된다.
- [+하나의 환경에+] 다양한 container를 활용하여 [+다양한 환경이 독립적으로 존재+]할 수 있다.
- 원하는 개발 환경을 파일에 저장하면, docker는 이를 원하는 [-어떤 머신이든 해당 환경에서 시뮬레이션-] 해준다. (windows pc, mac ps, linux, raspberry-pi, ...)
- 이러한 환경들은 각기 [-독립적으로 존재-]하기 때문에, 원하는 무슨 환경이든 [-모듈식으로 관리 가능-]하다.