Docker

기본 개념
-
VM이랑 비슷한 개념인데 약간의 차이가 잇음
- 가상화의 레벨 차이 : 전 / 반 가상화보다 효율이 좋음
- 격리된 게스트 OS 대신 하나의 Docker 엔진에 의존 : 공유하는 자원이 많아 효율적으로 사용 가능
-
격리된 실행 환경을 제공
- 이미지 단위로 구성해서 빌드 / 배포 가능
- 이미지만 돌릴 수 있는 환경이라면 어느 플랫폼이든 동일하게 동작 : 어느 환경에서든 설치에 어려움 없이 개발 가능
실행 환경
- 다운로드 : 링크
- macOS : 큰 상관없음, 거의 대부분의 플랫폼에서 지원
- Windows : Windows 10 이상의 Hyper-V를 지원하는 환경에서 실행 가능
이미지 다운로드
docker pull [이미지 이름] (eg. docker pull tensorflow)
구동
- 최초 시작 : docker run -d -p [포트 매핑 -> host:guest] [이미지 이름] (eg. docker run -p 8888:8888 tensorflow)
- 구동된 이미지 목록 : docker ps / docker ps -a
- 재시작 : docker restart [컨테이너 ID]
- 종료 : docker kill [컨테이너 ID]
삭제
- 인스턴스 삭제 : docker rm [컨테이너 ID]
- 이미지 삭제 : docker rmi [이미지 이름]
[출처] https://github.com/study-machine-learning/dongheon.shin/wiki/%EC%95%84%EC%A3%BC-%EA%B0%84%EB%8B%A8%ED%95%9C-Docker-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%A0%95%EB%A6%AC