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를 할당받은것을 확인 할 수 있습니다. |