도커는 컨테이너 기반 오픈소스 가상화 플랫폼
프로그램을 외부 환경과 격리시켜 구동할 수 있게 해주는 소프트웨어
컨테이너는 코드와 모든 종속성을 패키징해 애플리케이션이 여러 환경에서 빠르고 안정적으로 실행될 수 있도록 하는 표준 소프트웨어 단위
애플리케이션을 실행할 때 필요한 모든 것(코드, 런타임, 시스템 도구, 시스템 라이브러리 및 설정)을 포함하는 가볍고 독립적인 실행 소프트웨어 패키지
# 해당 dockerfile있는 곳으로 이동해 아래 명령어 사용
docker build -t '이미지'
# 기존에 존재하는 이미지 사용
docker pull '이미지'
# 호스트 포트를 컨테이너 포트에 매핑해 이미지 이용해 컨테이너 실행
docker run --name '지정할 컨테이너 이름' -d -p 호스트포트:컨테이너포트 '이미지'
docker ps
docker create --name '컨테이너 이름' '이미지 이름'
# 생성 후 실행
docker run --name '컨테이너 이름' -d '이미지 이름'
# 이미 생성된 컨테이너 실행
docker start '컨테이너 이름'
docker pause '컨테이너 이름'
docker unpause '컨테이너 이름'
docker stop '컨테이너 이름'
docker restart '컨테이너 이름'
# 컨테이너 생성 시 재시작 정책 설정
docker run --name '컨테이너 이름' --restart always -d '이미지 이름'
docker rm '컨테이너 이름'
- 표준화된 환경 제공
- CI/CD 파이프라인에 쉽게 통합되어 자동회 배포 지원
- 동일한 호스트 OS커널 공유-> 오버헤드 발생이 적음
- 쿠버네티스와 잘 통합되어 여러 컨테이너 관리가 효율적이며 확장 가능함
- 독립적 개발, 배포, 확장을 통해 서비스 재사용성 높음
- 독립된 환경에서 실행하므로 애플리케이션 독립 보장해 보안 측면에서 관리 용이