1. docker 기본 개념
Docker inc에서 개발한 소프트웨어로 컨테이너 기술을 활용한 것으로 GO언어로 작성 되었음
dockerfile ---> docker build ---> docker 이미지 ---> docker run ---> docker 컨테이너
프로비저닝코드 ---> 프로비저닝 ---> 서버
2. docker 이미지
1) 외부 저장소 : docker pull
2) 내부 생성 : dockerfile -> docker build -> docker run
3. docker 설치
yum install docker (yum install docker-ce)
systemctl start docker
systemctl enable docker
4. docker 기본 명령어
docker run : 배포 - 실행
docker stop : docker 컨테이너 정지
docker start : docker 컨테이너 시작
docker rm : docker 컨테이너 삭제
docker exec : 실행중인 컨테이너에 명령 실행
docker logs : 컨테이너 로그 표시
docker inspect : 컨테이너 상세정보 표시
docker images : docker 데몬에 docker 이미지 목록 표시
docker rmi : docker 데몬에 docker 이미지 삭제
docker inspect : 상세정보 확인
docker commit : 변경을 반영한 새로운 이미지 생성
docker export : docker 이미지를 tar 형태로 출력
docker load : export 이미지를 load
docker ps : 실행중인 docker 표시
docker ps -a
docker build : Dockerfile이 있는 디렉토리에서 이미지 생성
5. run 실행 및 배포
docker run [옵션] 이미지 [명령] [인수...]
ex) docker run ubuntu cat /etc/lsb-release
docker serarch nginx (이미지 검색)
docker run -d -P nginx ( d: 백그라운드 시행 P : 호스트와 컨테이너 포트 연결 )
docker run -d -p 8080:80 nginx ( 호스트 8080과 컨테이너 80 연결 )
docker exec ceeriweri324 md5sum /etc/nginx/nginx.conf (실행중인 docker에 md5 체크섬 계산 )
docker exec -i -t ceeriweri324 /bin/bash (shell 실행하여 interactive mode)
docker run -d --name test1 -v /root/test1:/usr/test1 nginx (호스트 /root/test1를 컨테이너 /usr/test1에 공유)
docker run -d -p 60000-60010:60000-60010 -p 8180:80 nginx (port bind)
docker run --link test1 centos env (컨테이너와 컨테이너 연결)
6. 클러스터 관리도구
- kubernetes
- apache mesos
- docker swarm
7. kubernetes (GO 언어로 생성)
1) 노드 : docker 데몬이 동작하는 호스트
2) 팟 : docker 컨테이너 집합
3) 서비스 : 통신 엔드포인트 제공
4) 리플리케이션 컨트롤러 : 팟 배포 관리
5) 라벨 : AWS태그 (오브젝트에 라벨표시)
'Devops' 카테고리의 다른 글
ansible 핸들러 (0) | 2018.02.12 |
---|---|
ansible 조건 예제 (0) | 2018.02.12 |
ansible playbook 반복 처리 및 필터 (0) | 2017.06.30 |
ansible task 주요 설정키 (0) | 2017.06.30 |
Ansible play 주요 설정키 (0) | 2017.06.30 |