docker 라는녀석이 시장점유율도 훌륭하고 개발자라면 배워보고싶은 기술스택중 하나 라기에 난 이녀석을 공부를 한번 해보았다...
맨날 미루고 미루고 또미루고 미루고 미루고 또미루고 으휴... 이러다 난 아무것도 안됄거같다라는 생각에 한번 정리를 해본다..
1. docker 란 무엇인가?
Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼이다. Docker는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있다. Docker를 사용하면 환경에 구애받지 않고 애플리케이션을 신속하게 배포 및 확장할 수 있으며 코드가 문제없이 실행될 것임을 확신할 수 있다
2. docker 와 vmWare의 차이를 자세하게 적어주고싶지만.. 너무 잘 정리되어있는 표가있어 참고하길바랍니다.
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
도커&컨테이너 기술의 정의와 대표적인 특징 (0) | 2024.01.12 |
---|---|
container Orchestration에 대하여 (0) | 2023.12.27 |
docker로 nestJS프로젝트 구축해보기!! (0) | 2022.07.23 |