개발/Docker

[도커 입문 시리즈] docker 컨테이너 개념

ITIbiza 2024. 8. 16. 15:14

docker

 

이 글에서는 입문자를 위한 도커 시리즈로 도커 입문 시리즈 - Docker 컨테이너 개념에 대해서 소개합니다.

 

안녕하세요! ITibiza입니다.

 

쉽게 설명해서 도커란?

도커는 다양한 운영체제에서 리눅스의 컨테이너 환경을 제공하기 위한 엔진입니다.

 

이제 본론으로 도커에 컨테이너에 개념에 대해서 자세히 알아보겠습니다.

 

도커 이미지란?

2024.08.02 - [개발/Docker] - [도커 입문 시리즈] docker 이미지와 레이어 개념

 

[도커 입문 시리즈] docker 이미지와 레이어 개념

이 글에서는 입문자를 위한 도커 시리즈로 도커 입문 시리즈 - Docker 이미지와 레이어 개념에 대해서 소개합니다. 안녕하세요! ITibiza입니다. 도커 시리즈 1탄2024.07.31 - [개발/Docker] - [도커 입문

itibiza.tistory.com

 

컨테이너(container)란?

컨테이너는 애플리케이션을 실행할 수 있는 환경입니다.

운영체제와는 다른 개념으로 리눅스 운영체제에서 애플리케이션을 실행할 수 있는 독립된 환경을 제공하는데 이때 독립된 환경이 컨테이너입니다.

 

즉, 도커 컨테이너는 도커 이미지로부터 생성되는 실행 가능한 독립적인 인스턴스입니다.

 

도커 컨테이너 특징

  • 격리된 환경: 컨테이너는 서로 독립된 파일 시스템, 네트워크, 프로세스 등을 가집니다.
  • 경량성: 컨테이너는 운영 체제의 커널을 공유하므로 가상 머신보다 훨씬 가볍고 빠르게 실행됩니다.
  • 이식성: 컨테이너는 애플리케이션과 그 실행 환경을 함께 패키징 하므로, 어떤 환경에서도 동일하게 실행될 수 있습니다.

 

nginx 도커 컨테이너 예제

도커 컨테이너와 관련된 주요 명령어와 옵션을 설명하겠습니다.

 

docker run

docker run 명령어는 새로운 컨테이너를 생성하고 실행합니다.

 

예제

docker run -d -p 80:80 --name my-nginx nginx

 

명령어 옵션

  • d : 컨테이너를 백그라운드에서 실행합니다.
  • p : 호스트와 컨테이너의 포트를 매핑합니다 (예: p 80:80은 호스트의 포트 80을 컨테이너의 포트 80에 매핑)
  • -name : 컨테이너의 이름을 지정합니다 (예: -name my-nginx).
  • nginx : 사용할 도커 이미지의 이름입니다.

 

docker ps

docker ps 명령어는 현재 실행 중인 컨테이너 목록을 출력합니다.

 

예제

docker ps

docker ps -a

 

옵션

  • a : 실행 중인 컨테이너뿐만 아니라 종료된 모든 컨테이너를 표시합니다.

 

docker stop

docker stop 명령어는 실행 중인 컨테이너를 중지합니다.

 

예제

docker stop my-nginx

 

생성한 컨테이너 이름을 입력합니다.

 

docker rm

docker rm 명령어는 중지된 컨테이너를 삭제합니다.

 

예제

docker rm my-nginx

docker rm -f my-nginx

 

옵션

  • f : 강제로 컨테이너를 삭제합니다. 실행 중인 컨테이너도 삭제됩니다.

 

docker exec

docker exec 명령어는 실행 중인 컨테이너 내에서 명령어를 실행합니다.

 

예제

sh코드 복사
docker exec -it my-nginx bash

 

옵션

  • it : 대화형 모드로 터미널을 연결합니다.

 

docker logs

docker logs 명령어는 컨테이너의 로그를 출력합니다.

 

예제

docker logs my-nginx

 

옵션

  • f : 실시간으로 로그를 출력합니다.

 

docker images

docker images 명령어는 로컬에 저장된 도커 이미지 목록을 출력합니다.

 

예제

docker images

 

docker rmi

docker rmi 명령어는 도커 이미지를 삭제합니다.

 

예제

docker rmi nginx

docker rmi -f nginx

 

옵션

  • f : 강제로 이미지를 삭제합니다. 이 이미지를 사용하는 모든 컨테이너도 삭제됩니다.

 

docker 컨테이너 개념 마지막으로

도커 컨테이너 생성한 도커 이미지로부터 생성되는 실행 가능한 격리된 인스턴스입니다.

 

도커 컨테이너를 활용하면 실행되는 환경을 일관성 있게 유지하며, 개발, 테스트, 배포과정에서 발행하는 환경 차이로 인한 문제를 줄입니다.

 

개발을 하다 보면 개발 환경에 세팅하는데 많은 시간이 소비될 때가 있습니다.

이러한 문제는 업무 생산성을 떨어뜨리기 때문에 도커를 활용해서 이러한 환경 문제를 줄이고 일관성 있게 개발, 배타, 운영 환경을 유지할 수 있습니다.

 

다음 시간에는 DockerFile에 대한 개념에 대해서 알아보겠습니다.

 


 

2024.08.14 - [경제용어] - 신용카드 페이백(Payback) 개념

 

신용카드 페이백(Payback) 개념

안녕하세요! ITibiza 입니다. 필자는 현재 우리은행, 나이스정보통신과 해외 여행객들은 위한 충전식 체크카드를 출시 준비 중입니다.여기서 카드 정책에 대해서 토론을 하면서 페이백에 대한 기

itibiza.tistory.com

 

2024.08.13 - [IT소식] - 엣지 서버(Edge Server) 알아보기

 

엣지 서버(Edge Server) 알아보기

안녕하세요! ITibiza입니다. 필자도 얼마 전에 아는 대표형 전화가 와서 서로 안부를 묻다가 대표형께서 새로운 프로젝트를 진행하는데 개발자가 엣지 서버 뭐 뭐.. 어쩌고 저쩌고 한다고 하는데

itibiza.tistory.com

 

2024.08.12 - [IT소식] - 가장 핫한 DB postgresql 개념과 사용해야 하는 이유

 

가장 핫한 DB postgresql 개념과 사용해야 하는 이유

안녕하세요! ITibiza입니다. 요즘 많은 기업에서 사용하는 RDBMS postgresql에 대해서 알아보겠습니다. 서비스가 커지면 대규모 데이터 관리와 복잡한 쿼리 처리는 필수적으로 필요합니다.아마도 이

itibiza.tistory.com