본문 바로가기
Language&Framework&Etc/Docker

Docker 사용법 정리

by 머리올리자 2021. 2. 2.

이미지 출처 : 위키피디아 도커(소프트웨어)

도커(Docker)는 리눅스의 응용 프로그램들을 소프트웨어 컨테이너 안에 배치시키는 일을 자동화하는 오픈 소스 프로젝트

 

Docker는 environment disparity를 해결해준다.

 

Docker를 통해 다른 시스템에 똑같은 환경으로 세팅해줄 수 있기 때문에

 

Docker의 container들은 각기 분리되어 있으며, 독립적으로 동작

(Container : 격리된 공간에서 프로세스가 동작하는 기술)

 

이러한 특징들로, 한 개의 서버에 많은 수의 컨테이너를 가질 수 있다.

(즉, 하나의 서버에서 각기 다른 환경의 컨테이너를 설정할 수 있다)

 

 

1. 원하는 개발 환경을 파일에 저장하면, docker는 이를 원하는 어떤 머신에든 해당 환경을 시뮬레이션 해준다.

2. 각기 독립적으로 존재하기 때문에 원하는 무슨 환경이든 모듈식으로 관리 가능하다.

 

Docker는 컴퓨터에 바로 container를 설치하는 게 아니고 독립된 가상 공간을 만들어서 복원

 

docker run : run a command in a new container(이미지로 컨테이너를 생성하는 run 명령)

 

run -> 사용할 이미지가 저장되어 있는지 확인하고 없다면 다운로드(pull)을 한 후 컨테이너를 생성 (create) 하고 시작(start)

 

위는 nvidia/cuda:10.1-base 이미지를 다운받은 적이 없기 때문에 이미지를 다운로드 한 후 컨테이너가 실행.

 

컨테이너는 정상적으로 실행되었지만 뭘 하라고 명령어를 전달하지 않았기 때문에 컨테이너는 생성되자마자 종료됩니다.

 

컨테이너는 프로세스이기 때문에 실행 중인 프로세스가 없으면 컨테이너 종료

docker run --rm -it nvidia/cuda:10.1-base /bin/bash

위 명령어로 컨테이너 실행

 

컨테이너 내부에 들어가기 위해 bash 쉘을 실행하고 키보드 입력을 위해 -it 옵션

 

프로세스가 종료되면 컨테이너가 자동으로 삭제되도록 --rm 옵션 추가

 

컨테이너 목록 확인

docker ps [options]

ps : 실행중인 컨테이너 목록

(docker를 실행하고 docker ps를 입력하면 현재 실행 중인 컨테이너 목록이 있음)

 

docker ps -a

 - 처음 실행되었다가 종료된 컨테이너.

 - 컨테이너는 종료되어도 삭제되지 않고 남아 있음.

 - 종료된 건 다시 시작 가능.

 - 명시적으로 삭제를 하면 컨테이너 제거 가능

 

docker stop

 - 실행 중인 컨데티너 중지

docker stop [OPTIONS] CONTAINER [CONTAINER]

실행 중인 컨테이너를 종료 가능합니다.

docker stop 9d788 # container id 9d788a801651

앞의 몇자리만 입력해도 종료 가능

 

docker rm

 - container 제거

docker rm [OPTIONS] CONTAINER [CONTAINER]

- 종료된 컨테이너를 하나 또는 여러개 삭제 가능

docker ps -a # container id 확인
docker rm "container id"
docker ps -a # 잘 제거되었나 확인

이미지 목록 확인 (images)

docker images [OPTIONS] [REPOSITORY[:TAG]]

이미지 다운로드 (pull)

REPOSITORY    TAG         IMAGE ID       CREATED         SIZE
nvidia/cuda   10.1-base   6fa731bcd2fd   7 weeks ago     105MB
hello-world   latest      bf756fb1ae65   13 months ago   13.3kB

run 명령어는 이미지가 없을 때 자동으로 다운

pull 명령어는 최신 버전으로 받을 때

 

이미지 삭제 (rmi)

docker rmi [OPTIONS] IMAGE [IMAGE...]

 

 

참고

www.youtube.com/watch?v=chnCcGCTyBg

www.youtube.com/watch?v=tPjpcsgxgWc

subicura.com/2017/01/19/docker-guide-for-beginners-2.html