관리 메뉴

IT창고

docker 사용법1 본문

서버운영/Virtualization

docker 사용법1

방구석여포 2019. 2. 17. 01:53

docker 사용법 및 활용에 대해 알아보겠습니다. 


docker는 리눅스의 응용 프로그램들을 소프트웨어 컨테이너 안에 배치시켜 작동하는 오픈 소스로 Vmware, VirtualBox와 다른 점은 docker는 가상머신과는 다르게 하드웨어 자원을 가져오지 않고 프로세스 처럼 리눅스에서 동작합니다. 또한 docker는 리눅스 외에 윈도우에서 동작하는 docker 또한 있습니다. 


윈도우 Docker는 아래의 링크를 참고합니다.

https://www.docker.com/products/docker-desktop


docker의 작동구조는 여기 링크1 , 링크2 를 참고 합니다.



테스트 환경은 VMware CentOS 7 입니다. 

docker는 실행하기 위해서 커널 버전 3.10.x 이상 ubuntu는 14.04 이상을 사용하길 권장합니다.

CentOS 7에서의 docker설치는 yum으로 가능합니다. 레드햇 저장소에 7버전 부터는 따로 외부저장소에서 가져올 필요가 없습니다.

ex) yum -y install docker


docker가 동작하는지 확인해봅니다. 동작한다면 docker 사용법을 알아보겠습니다.


docker --help 명령어를 입력해보면 docker의 많은 옵션들을 확인해볼수있습니다. 그중에서 주로 사용하는 옵션들을 알아보겠습니다. 


 pull

Repo 혹은 Registry에서 이미지를 가져옵니다.  

 run

새로운 컨테이너에서 명령을 실행합니다. 

 ps

컨테이너 목록을 확인합니다. 

 attach

실행중인 컨테이너에 연결합니다. 


대표적으로 사용될 옵션 4개가 있는데 하나씩 알아보겠습니다. 



pull 옵션을 알아보겠습니다. 

먼저 자신이 사용할 이미지를 선택합니다. 어떤 종류가 있는지 확인해보겠습니다.


search 옵션으로 어떤 이미지를 받을수있는지 확인이 가능합니다. docker hub에 올라와 있는 이미지로 테스트로 Ubuntu이미지를 확인해보았습니다. 


위와 같이 pull 옵션뒤에 자신이 사용할 이미지를  search에서 확인한 이미지를 넣고  : 뒤에 태그는 버전을 선택합니다. 

latest는 가장 최신버전을 의미하며 만약 docker pull ubuntu 명령어로 뒤에 태그를 붙이지 않을 경우 해당 이미지의 최신 버전을 받아옵니다. 자신이 받은 이미지는 docker images명령어로 확인해 볼 수 있습니다.



run옵션을 알아보겠습니다.


docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

run 옵션으로 사용되는 형식입니다. docker run 후에 run의 옵션을 사용하고 이미지를 선정한 후 만약 원하는 버전이 있다면 :TAG에 버전과 함께 입력 후 실행할 명령어를 입력하여 사용합니다. 


docker run의 옵션 몇가지를 알아보겠습니다.

 -i

 연결이 종료되어도 컨테이너 상태를 유지합니다.

 -t

가상 tty를 할당합니다. 

 -d

백드라운드에서 컨테이너를 실행하고 컨테이너 ID를 인쇄합니다.

 -p

호스트와 컨테이너의 포트를 포워딩 합니다. 

 -name

컨테이너의 이름을 지정합니다. (설정이 없을 시 무작위 이름으로 지정) 

 -v

호스트와 컨테이너의 디렉토리를 마운트 합니다. 


글로 보면 좀 까다로운데 직접 눈으로 보면서 진행하겠습니다. 


위의 사진에서 사용한 명령어를 확인해보겠습니다.  docker run -i -t --name gskubuntu ubuntu /bin/bash

-i와 -t 옵션을 사용한 후에 -name옵션으로 실행할 컨테이너의 이름을 지정했습니다. 후에 이미지를 선택하고 마지막에 사용될 명령어 /bin/bash로 쉘을 띄워주는 명령어를 실행하여 Ubuntu의 쉘을 올려봤습니다. 컨테이너가 우분투인걸 위의 사진에서 확인할수있습니다. 



ps 명령어에 대해 알아보겠습니다. 

ps명령어는 리눅스에서 흔하게 쓰이는 프로세스 확인 명령어입니다. docker 또한 마찬가지로 docker 컨테이너의 상태를 확인할수있습니다.


docker ps의 옵션 몇가지를 알아보겠습니다.

 -a

모든 컨테이너를 표시합니다.  

 -q

숫자 ID만 표시합니다. 

 -s

 총 파일 크기를 표시합니다.



docker ps 명령어를 사용해보았습니다. -a옵션을 사용하지 않으면 현재 실행중인 컨테이너만 표시됩니다. 



마지막으로 attach옵션에 대해 알아보겠습니다. 

attach 명령어는 run명령어로 만들어놓은 이미지에 다시 접속하는 명령어 입니다. 


아까 만들어둔 Ubuntu 이미지에 다시 접속하려 합니다. 접속 시에 컨테이너가 중지되어있다고 나와있는데 start옵션으로 먼저 컨테이너를 실행시켜주어야만 합니다. 컨테이너의 이름은 -name옵션으로 지정한 이름이여도 되며 docker ps -a에서 확인한 컨테이너 ID 8cbe81d07b44로 지정해도 상관없습니다. attach로 다시 Ubuntu 컨테이너에 접속된걸 확인할수있습니다.




다음 포스팅 이어서 계속 

'서버운영 > Virtualization' 카테고리의 다른 글

Docker 설치 (CentOS)  (0) 2021.01.28
쿠버네티스(kubernetes) 설치하기 (CentOS 7)  (2) 2019.08.08
VMware ESXi 설치 및 활용  (0) 2019.05.06
OpenStack 설치  (0) 2019.02.24
docker 사용법2 및 활용  (0) 2019.02.17
Comments