Docker 실습(이미지와 컨테이너 사용방법)

2017. 5. 24. 01:59Study :D/Ubuntu17.04

2017/05/24 - [Autonomy Study :D/Ubuntu17.04] - Docker



환경 ubuntu 17.04 lts


우분투에서 패키지로 직접 설치

# sudo apt-get update

# sudo apt-get install docker.io

# sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker

 -/usr/bin/docker.io 실행파일을 /usr/local/bin/docker로 링크해서 사용


Docker 서비스 실행하기

# service docker start


<--

※ 부팅시 자동으로 실행하기

# chkconfig docker on

-->


Docker명령은 docker run, docker push 처럼 docker <명령> 형식으로 실행해야한다.

그리고 항상 root 권한으로 실행해야한다.

기본적인 사용법을 알기위해 docker hub에서 제공하는 이미지를 받아서 실행하자.


SEARCH명령

docker hub를 통해 이미지를 공유하는 생태계가 구축되어있다.

search로 docker hub에서 이미지를 검색할수 있다.


# sudo docker search ubuntu

- tags를 보면 현재 사용할 수 있는 이미지의 버전을 볼수있다.


PULL명령

# sudo docker pull ubuntu:latest

 - docker pull<이미지이름>:<태그>

 - latest를 설정하면 최신 버전을 받을수 있다. ubuntu:14.04, ubuntu:12.10처럼 태그 지정도 가능하다.


IMAGES명령

# sudo docker images

 - 모든 이미지 목록을 출력한다.


RUN명령

# sudo docker run -i -t --name mushroom ubuntu /bin/bash

 - docker run <옵션><이미지이름><실행할 파일> 형식이다.

 - 입력한 명령은 우분투 이미지를 컨테이너로 생성한 뒤, 우분투 이미지 안의 /bin/bash를 실행한다는 뜻이다.

 - 이름대신 이미지 id를 사용해도 된다. ( docker images를 입력시 이미지 id 보임 )

 - 옵션 -i(interactive), -t(pseudo-tty) 를 사용하면 실행된  bash shell에 입력 및 출력이 가능하다.

 - --name 옵션은 컨테이너의 이름을 지정할 수 있다. 지정하지않으면 docker가 자동으로 이름을 생성하여 저장한다.


PS 명령

# sudo docker ps -a

 - 컨테이너 목록을 출력한다. -a 옵션을 사용하면 정지된 컨테이너까지 모두 출력된다.

 - #docker ps 만 입력할 경우 실행되고 있는 컨테이너만 출력된다.


RESTART 명령

# sudo docker restart <컨테이너 이름>

 - os 재부팅 처럼 컨테이너를 재시작 할 수 있다.


ATTACH 명령

# sudo docker attach <컨테이너이름>

 - 재시작한 컨테이너에 접속하는 명령이다. 

 - 우리는 /bin/bash를 실행했기 때문에 명령을 자유롭게 입력할수 있지만, 

   db나 서버 어플리케이션을 실행하면 입력은 할 수 없고,출력만 보게된다.

 - bash shell에서 exit 또는 ctrl+D를 입력하게 되면 컨테이너가 정지된다.

 - ctrl+p, ctrl+q를 차례대로 입력하여 컨테이너를 정지하지않고 컨테이너에서 빠져나온다.


EXEC 명령

# docker exec mushroom echo "hello world"

 - docker exec <컨테이너 이름>,명령><매개변수>컨테이너가 실행되고 있는 상태에서만 사용할 수 있으며, 

   정지된 상태에서는 사용 불가

 - exec명령은 이미 실행된 컨테이너에 apt-get, yum 명령으로 패키지를 설치하거나, 각종 데몬을 실행할 때 활용한다.


STOP명령

# docker stop mushroom 

 - docker stop <컨테이너이름>

# docker ps

 - 정지된 것을 볼수 있다.


rm명령

# docker rm mushroom

# docker ps

 - 삭제되어서 아무것도 볼수가 없다.


rmi명령


# docker rmi ubuntu:latest

 - 이미지를 삭제한다 

 - docker rmi <이미지이름>:<태그> 

 - docker rmi ubuntu를 입력할 경우 태그는 다르지만, ubuntu 이름을 가진 모든 이미지가 삭제된다.

# docker images

 - 이미지가 삭제된걸 볼수 있다.


<--

※ ubuntu 환경에 docker를 이용해 centos 환경을 설치

-->


참조 http://pyrasis.com/Docker/Docker-HOWTO#section-6







'Study :D > Ubuntu17.04' 카테고리의 다른 글

bitnami 이용한 웹서버 구축  (0) 2017.06.07
Docker  (0) 2017.05.24
궁금 configure, make, make install  (0) 2017.05.23
Ubuntu 웹서버 구축하기  (1) 2017.04.24
Ubuntu 알아두자 명령어  (0) 2017.04.24