컨테이너/도커

Docker 총 정리

JUNGKEUNG 2022. 5. 22. 22:16

Docker란?

리눅스의 응용 프로그램으로 프로세스 격리 기술을 이용하여 컨테이너 실행 및 관리를 해주는 것이 도커다.

 

 

도커를 사용하는 이유?

각 개발자가 개발 세팅을 하면 버전 문제 등의 문제가 나올 수가 있다. 한 명의 개발자가 개발 세팅을 해놓고 이미지화하여 컨테이너에 저장을 하면 나머지 개발자들은 이미지만 받아서 사용만 하면 된다. 

 

 

vm과 docker의 차이점은?

vm은 hostOS위에 새로운 OS를 설치하여 메모리 공간을 많이 차지한다. 반면 Docker는 host OS위에 필요한 라이브러리, 코드 등만 만들어서 설치하기 때문에 속도가 빠르고 메모리 공간을 많이 차지하지 않는다.

 

 

Docker 이미지란?

코드, 시스템 도구, 시스템 라이브러리 및 설정과 응용 프로그램을 실행하는데 필요한 모든 것을 포함하는 가볍고 독립적이며 실행 가능한 소프트웨어 패키지이다.

도커 컨테이너의 경우 도커 엔진에서 실행될때 이미지가 컨테이너가 된다.

 

 

작동 순서

1. 도커 클라이언트에 명령어 입력 후 도커 서버로 보낸다

2. 도커 서버에서 컨테이너를 위한 이미지가 캐쉬에 저장되어 있는지 확인한다.

3. 없다면 도커 허브에서 다운 받아온다 있다면 이미 가지고 있는 이미지로 컨테이너는 생성한다.

 

 

도커 컨테이너의 생명 주기

 

 

docker copy vs Volume

copy -> 로컬에 있는걸 도커 컨테이너로 복사해준다.

Volume -> 도커 컨테이너가 복사가 아니라 로컬에 있는 것을 매핑하여 가져오기 때문에 더 빠르다.

docker copy                                                                                  docker volume

 

 

도커 명령어

도커 이미지 실행

docker run 이미지 이름

도커 컨테이너 실행

docker run alping ping localhost

원하는 항목만 보기

docker ps --format 'table{{.Names}} \t table{{.Image}}'

모든 컨테이너 나열

docker ps -a

도커 중지

docker stop 컨테이너 아이디/이름

docker kill 컨테이너 아이디/이름

중지된 컨테이너 삭제

docker rm 컨테이너 아이디/이름

모든 컨테이너 삭제

docker rm 'docker ps -a -q

이미지 삭제

docker rmi <이미지 아이디>

한 번도 사용하지 않는 컨테이너, 이미지, 네트워크 모두 삭제

docker system prune

이미 실행 중인 컨테이너에 명령어 전달

docker exec 컨테이너 아이디/이름

 

 

프로젝트에 docker, aws 파일 만드는 법

Dockerfile -> 단일 컨테이너 파일 생성

Dockerfile.Dev -> docker 테스트 파일 생성

docker-compose.yml -> 다중 컨테이너 사용 시 파일 생성

Dockerrun.aws.json -> aws 설정 파일 생성

'컨테이너 > 도커' 카테고리의 다른 글

Travis CI란?  (0) 2022.05.22
docker copy vs volume  (0) 2022.05.18
docker react 설치  (0) 2022.05.17
Docker 이미지 만들기  (0) 2022.05.15
Docker 정리(4)  (0) 2022.05.15