상세 컨텐츠

본문 제목

Docker라는 아이를 만져보았다....

Docker

by 인생도NIO 2022. 7. 7. 18:39

본문

 

docker 라는녀석이 시장점유율도 훌륭하고 개발자라면 배워보고싶은 기술스택중 하나 라기에 난 이녀석을 공부를 한번 해보았다...

맨날 미루고 미루고 또미루고 미루고 미루고 또미루고 으휴... 이러다 난 아무것도 안됄거같다라는 생각에 한번 정리를 해본다..

 

1. docker 란 무엇인가?

Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼이다. Docker는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있다. Docker를 사용하면 환경에 구애받지 않고 애플리케이션을 신속하게 배포 및 확장할 수 있으며 코드가 문제없이 실행될 것임을 확신할 수 있다

2. docker 와 vmWare의 차이를 자세하게 적어주고싶지만.. 너무 잘 정리되어있는 표가있어 참고하길바랍니다.

 

vmware vs docker 차이

3.컨테이너 ?

도커 공식문서를 보면, 컨테이너는 코드 및 종속성을 함께 패키징 하는 Application계층의 추상화라고 정의된다. 그 말은 여러 종류의 컨테이너가 동일한 시스템에서 실행되고 OS커널을 다른 컨테이너와 공유 할 수 있으며, 각 컨테이너는 사용자 공간에서 분리된 프로세스로 실행된다는 의미를 가진다. 추가적으로, 컨테이너는 VM보다 메모리 공간을 적게 차지하며, 더 많은 Application을 처리할 수 있으며, 더 적은수의 VM또는 운영 체제(OS)를 필요로 한다. 한마디로 컨테이너는 프로세스 단위의 분리 독립 환경안의 가상공간이라고 이해하면 되겠다.

자 그럼 필자가 도커를 공부한 허접한 코드를 공유하겠당... 사실 맞게 짠건지는 잘 모르지만 도커 이미지까지 한번 만들어보고 실행까지 간단하게 해보았다. 

 

필자 코드이다. 간단한 설명을 주석으로 달았으니 참고 바람.

 

위 Dockerfile 구축후 .dockerignore를 이용하여 node_modules와 dist를 적어주자. 사유는 제거하고 설치하기 위함이다.

docker build -t [해당이미지명] .

docker 빌드과정

빌드가 끝나고 해당 docker images 를 치면 내가 만든 도커 이미지가 보인다!!

생성한 도커 이미지들

 

도커 컨테이너 생성

 

docker run -it --name [컨테이너이름] [이미지이름]

 

그다음 docker ps -a를 하면 현재 실행되고있는 컨테이너들의 목록을 표시한다.

 

도커 시작 종료 명령어

docker start 컨테이너ID 혹은 컨테이너이름
docker stop 컨테이너ID 혹은 컨테이너이름

 

# 컨테이너를 삭제한다.
docker rm 컨테이너ID 혹은 컨테이너이름

활성화 된 컨테이너를 삭제하기 위해서는 먼저 비활성화 하거나 -f를 사용해야한다.

 

도커 이미지를 제거하는방법

# 이미지를 제거한다
docker rmi 이미지이름 혹은 아이디

# dangling된 이미지를 모두 제거한다. 
docker rmi $(docker images -f "dangling=true" -q) 

 

이상 허접한 나의 도커찍먹을 마친다.....

 

참고자료 : https://hoon93.tistory.com/41

 

도커(Docker)와 가상머신(Virtual Machine) 비교

도커(Docker = Docker Engine)란?? 저는 어떠한 IT용어를 접하면 제일 먼저 사전적 의미를 찾아보는 편인데요, 그래서 찾아보니 도커(Docker)란 '부두(항만) 노동자'를 의미함을 알게 됐었습니다. '부두 노

hoon93.tistory.com

 

 

관련글 더보기