2018년 2월 13일 화요일

60분만에 만나는 docker

http://www.pyrasis.com/book/DockerForTheReallyImpatient/Chapter05 <-- 무료도서
https://www.slideshare.net/pyrasis/docker-fordummies-44424016

-Docker 컨테이너 안에 가상 공간을 만들지마 ㄴ실행파일을 호스트에서 직접실행
-리눅스커널의 cgoups 와 namespace 가 제공하는 기술
-게스트 OS 가 필요없다. 라이브러리만 격리해서 사용도 가능.
-도커 의 패키지는 서비스운영에 필요한 서버 프로그램, 소스코드, 실행하일 묶은 형태
 -컨터이너는 이미지르 실행한 상태?
 -하나의 이미지로 여러 컨테이너를 만들수 있음.
-컴퓨터 라면 이미지는 실행파일, 컨테이너는 프로세서
-이미지에서 특정 바꾼 부분은 다른 이미지와 합쳐서 실행 가능
-설치
 --리눅스 배포판 자동인식 하는 쉡 스크립트 제공
   wget -q0- https://get.docker.com/ | sh
 --우분투 에서 직접 설치
   apt-get update
   apt-get install odcker.io
   ln -sh /usr/bin/docker.io /usr/local/bin/docker
   이제 /usr/bin/docker.io 실행파일을 /usr/local/bin/docker 로 사용.
 --Redhat 이라면
   yum install docker-io
   docker start
-사용
 --이미지 받기
   docker pull 이미지이름:태그 : 이미지 가져오기
   docker images : 이미지 보기 , 같은 이미지도 태그에 따라 다름.
   docker run -i -t --name hello ubuntu /bin/bash :  ubuntu 이미지원본을 가지고 컨테이너르 생성하여 /bin/bash 실행
      *** 이때 /bin/bash 를 실행했기때문에 exit 해서 빠져나오면 컨테이너가 정지됨.
   docker exec -it 실행중인컨터이너 bash    : bash 접속. exex 는 yum 명령등으로 패키지르 설치하거나 데몬 실행시 쓰임.
-Docker 생성 **
 --1.mkdir docker-test, cd docker-test
 --2.Docker 파일 작성..
     FROM ubuntu:14.04 # 어떤이미지로 어떤 태그 기반으로 할건지 지정
     MAINTAINER Foo Bar foor@bar.com #메인테이너 정보
     ...
     RUN apt-get update, install nginx, conf 파일 복사 등..이미지 생성시 필요한 단계 지정

     VOLUME ["/data/", "/etc/nginx/site-enabled", "/var/log/nginx"] #호스트와 공유할 디럭토리

     CMD ["nginx"] # 컨터이너가 시작되었을때 실핼할 파일 스크립트

     EXPOSE 80
     EXPOSE 443 # 연결포트

 --3.Docker 빌드
    docker build --tag hello:0.1 .
    이로서 이미지가 생성됨.
 --4.Docker 실행
    docker run --name hello-nginx -d -p 80:80 -v /root/data:/data hello:0.1
-boot2docker
  가상머신안에 도커를 실행한것.이므로 로스트IP 로는 nginx 에 바로 접속 불가.
  즉 아이피틑 boot2docker 의 아이피.

0 comments:

댓글 쓰기