등장배경
서버 환경에 독립적인 프로그램 배포 (프로세스 고립)(게스트OS 위에 설치하는건 자원낭비)
컨테이너 - 프로그램,실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단수하게 해준다.
이미지 - 컨테이너 실행에 필요한 파일과 설정값 등을 포함 ( 같은 이미지에서 여러 컨테이너 실행 가능)(컨테이너 만드는 시간 1~2초)
특징
레이어 저장방식 - 새로운 변경점의 부분만 다운->겹치기
이미지 경로 - url방식으로 관리
도커파일 - 이미지 생성 과정 언어 (같은환경의 컨테이너 만들기 가능)
쿠버네티스(k8s)
컨테이너를 스케줄링/ 클러스터링/ 서비스 디스커버리/ 로깅 및 모니터링 (중단 없는 서비스)
명령어
도커 실행 (없다면 이미지 다운로드 후 컨테이너 생성)
docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
ex)docker run --rm -it ubuntu:16.04 /bin/bash <내부에 들어가기>
-d detached mode 흔히 말하는 백그라운드 모드
-p 호스트와 컨테이너의 포트를 연결 (포워딩)
-v 호스트와 컨테이너의 디렉토리를 연결 (마운트)
-e 컨테이너 내에서 사용할 환경변수 설정
–name 컨테이너 이름 설정
–rm 프로세스 종료시 컨테이너 자동 제거
-it -i와 -t를 동시에 사용한 것으로 터미널 입력을 위한 옵션
–link 컨테이너 연결 [컨테이너명:별칭]
redis container -> 메모리기반 스토리지
컨테이너 실행 목록
docker ps [OPTIONS]
컨테이너 중지
docker stop [OPTIONS] CONTAINER [CONTAINER...]
컨테이너 제거
docker rm [OPTIONS] CONTAINER [CONTAINER...]
이미지 목록
docker images [OPTIONS] [REPOSITORY[:TAG]]
이미지 다운로드
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
이미지 삭제
docker rmi [OPTIONS] IMAGE [IMAGE...]
로그 (--tail -f)
docker logs [OPTIONS] CONTAINER
컨테이너 명령어 실행 ( ssh설치x)
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
데이터 마운트
-v /my/own/datadir:/var/lib/mysql \ # <- volume mount
이미지 만들고 배포
subicura.com/2017/02/10/docker-guide-for-beginners-create-image-and-deploy.html
초보를 위한 도커 안내서 - 이미지 만들고 배포하기
이 글은 초보를 위한 도커 안내서 - 설치부터 배포까지 시리즈의 마지막 글입니다. 지난 글에서 도커를 설치하고 컨테이너를 실행해 보았으니 이번엔 이미지를 만들고 서버에 배포해보도록 하
subicura.com
인텔리제이로
댓글