티스토리 뷰

개발/docker

docker A to Z

Jaeyeon Baek 2016.12.01 08:25

최초 이미지 다운로


  • 아래처럼 진행한다. 
  • $ docker pull centos:6.7
  • docker search를 통해 어떤 버전을 다운로드 받을 수 있는 지에 대한 내용은 차후 포스팅


컨테이너 생성


  • 아래와 같이 생성한다. -v, -p 는 옵션이니 생략 가능하며 적절하게 수정할 수 있겠다.
  • $ docker run -d -it --name new_container -v /pkg:/pkg -p 8081:80 -p 8026:25 centos:6.7 /bin/bash
  • 잠깐 구문을 뜯어보면 컨테이너 이름은 new_container가 될 것이고, 컨테이너를 생성하기 위한 이미지는 centos:6.7이라는 의미
  • -v는 host에 pkg라는 디렉토리를 guest에서 /pkg라는 디렉토리로 마운트해서 사용하겠다는 의미 (host:guest)
  • -p는 PAT(port address translation)으로 host에 8081로 들어오는 패킷은 container에 80으로 PAT 시키고, host에 8026로 들어오는 패킷은 container에 25로 PAT시키겠다는 의미


명령어


  • 이미지 목록 보기
  • $ docker images


  • 컨테이너 목록 보기
  • $ docker ps -a


  • 이미지 삭제
  • $ docker rmi 이미지_이름 /* 해당 이미지로 생성된 컨테이너가 존재하면 삭제 안됨. 컨테이너 먼저 지우세요. */
  • $ docker rmi centos:6.7


  • 컨테이너 삭제
  • $ docker rm 컨테이너_이름
  • $ docker rm linux_test


  • 컨테이너에서 host로 파일 복사
  • 아래와 같은 형식으로 사용 한다. (host에서 container로 복사하는 건 설명 생략....)
  • $ docker cp linux_test:/tmp/aaa ./. 
    컨테이너간 복사는 지원하지 않는다.


새로운 이미지 제작


  • 깨끗한 container 생성
  • 위에서 받아 놓은 centos 6.7이미지가 이미 있으니 그걸 사용해서 container를 생성 함
  • $ docker run -d -it --name tmp-name -v /pkg:/pkg centos:6.7 /bin/bash
  • 위에서 /pkg는 host:container 의미로 공유 디렉토리 설정 임.


  • container에 접속
  • 위에서 생성한 container(tmp-name)에 아래와 같이 접속하도록 함
  • $ docker attach tmp-name


  • 이미지 생성
  • tag를 붙이는 것이 나중에 관리 차원으로 좋다.
  • $ # docker commit Container_name image_name:tag
  • $ docker commit tmp-tmp IMAGE-OS:0.1



'개발 > docker' 카테고리의 다른 글

이미지, 컨테이너 export, import  (0) 2016.12.12
네트워크 관리  (0) 2016.12.01
docker A to Z  (0) 2016.12.01
docker 운영 최소 환경  (0) 2015.11.20
댓글
댓글쓰기 폼