클라우드 서버

CoreOS를 이용한 컨테이너 구축

해당 메뉴얼은 CoreOS를 이용하여 컨테이너를 구축하는 방법을 설명합니다

 

CoreOs를 이용한 컨테이너 구축


 CoreOS 환경에서 docker CLI 커멘드를 활용하여 간단하게 컨테이너를 생성하고 관리할 수 있습니다. 

  * CoreOS란? https://help.iwinv.kr/manual/read.html?idx=844

 

 

 #  컨테이너 이미지 

 # 컨테이너 이미지 검색 

  docker search [이미지 이름] 

 

 

 

 # 컨테이너 이미지 받기 

   docker pull [이미지 이름]:[버전]   

   * 버전명에 latest 입력시 최신 버전을 받아 옵니다.

 

 

 

 # 이미지 조회  

  docker iamge ls 

 

 

 #  컨테이너 생성 (run)

  # run 명령어를 사용하여 컨테이너 생성

  docker run -it --name [컨테이너 이름]  [이미지 이름] [실행할 파일]

  ex) docker run -it --name ubuntu_test ubuntu /bin/bash   =>   ubuntu 이미지로 ubuntu_test라는 컨테이너를 생성하고 /bin/bash를 실행합니다.

  * -i -t 옵션을 주어야 실행된 bash shell에 입력이 가능합니다.   //  --name 옵션을 주면 컨테이너 이름을 지정할 수 있습니다. 

  * run 명령어로 컨테이너 생성시 생성과함께 컨테이너에 접속합니다. 

 

 

  * 해당 이미지가 없는경우 컨테이너 생성전에 이미지를 자동으로 받아와서 컨테이너를 생성합니다. 

  

 

 생성 후 docker 이미지 목록을 확인하면 Ubuntu 이미지가 추가된것을 확인할 수 있습니다. 

 

 

 

#  컨테이너 종료 , 목록조회 , 시작 

 #  컨테이너 종료 , 목록조회 , 시작 

   

 -  container에 접속한 상태에서 exit 명령어로 컨테이너에서 빠져 나옵니다. 

 -  이후 docker ps -a 명령어를 통해 컨테이너 목록을 확인합니다.  (  -a 옵션을 주지않으면 실행중인 docker 목록만 출력합니다 )

 -   STATUS (상태) 를 보면 Exited 인 것을 확인할 수 있습니다. 

 -   docker start [컨테이너이름]  으로 컨테이너를 시작합니다.  

 -   다시 컨테이너 목록을 출력하여 STATUS 값을 확인합니다.  ( 정상적으로 시작된 경우 Up

 

 # 컨테이너 접속하기 

   # 접속하기 

   docker attach [컨테이너 이름] 

   

 

  

  # 중지   

  Ctrl+P , Ctrl+ Q 를 순서대로 입력하면 실행중인 상태로 컨테이너에서 빠져나올 수 있습니다. 

  실행중인 컨테이너를 중지하려면 stop 명령어를 사용합니다. 

 

  docker stop [컨테이너 이름]

 

 

 

 # 삭제

 컨테이너를 삭제합니다.  ( 실행중인 컨테이너의 경우  먼저 중지를 시켜야 삭제가 가능하다)

 

 #  외부에서 명령어 실행하기

  외부에서 exec를 사용하면 컨테이너에 명령어를 실행할 수 있다. 

  docker exec [컨테이너 이름] [명령어] [매개변수]

  ex) docker exec ubuntu_test echo "Hello World"   -   echo명령어로 매개변수 "Hello World "를 출력합니다.  

  

 

 

#  컨테이너 네트워크 확인 및  ip 확인  

 컨테이너를 생성한 상태에서 로컬PC에서  네트워크 확인시 docker0 이라는 장치를 확인할 수 있습니다.  ( ip - 172.17.0.1 )

 * docker0는 도커에서 제공하는 브릿지 네트워크  드라이버다.

 *  172.16.0.0/16 의 서브넷을 가지고 있기때문에 생성된 컨테이너는 해당 ip대역안에서 ip를 할당받는다. 

 

 

 

  # 컨테이너 네트워크 확인 

 Ubuntu 이미지로 컨테이너를 생성하고 ifconfig시 command를 찾을 수 없다고 나옵니다.

 

 ifconfig를 사용하기 위해서는 apt 업데이트 후  net-tools를 설치해줍니다.

 

ifconfig 명령어를 사용하여  네트워크 ip를 확인합니다. 

*  docker0 브릿지 네트워크 서브넷 범위내에서 ip를 할당받은것을 확인 할 수 있습니다.