개발/Docker

[도커 입문 시리즈] docker 이미지와 컨테이너 사용법 알아보기

ITIbiza 2024. 8. 8. 11:36
반응형

도커

 

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

 

안녕하세요! ITibiza입니다.

 

이번 글에서는 도커에서 Node.js 베이스 이미지를 사용하여 Dockerfile 없이 명령어로 도커 이미지를 생성하고 구체적인 단계를 알아보겠습니다.

 

Dockerfile 사용하지 않는 이유는 docker 명령어에 익숙해지고 다양한 옵션과 명령어를 공부하기 위함입니다.

 

자 그럼 이제!

docker 컨테이너 실행, 이미지 커밋, 이미지 실행, 도커 이미지 삭제에 대한 명령어와 사용방법을 알아보겠습니다.

 

 

컨테이너가 이해가 안 된다면 도커 이미지부터 공부하기

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

 

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

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

itibiza.tistory.com

도커 컨테이너

도커 컨테이너 실행

Node.js 베이스 이미지로 임시 컨테이너를 실행합니다.

 

따라 하시면서 결과물을 직접 확인하세요!!

docker run -it --name hello node:14 bash
  • docker run: 새로운 컨테이너를 생성하고 실행하는 명령어입니다.
  • it: 대화형 모드로 터미널을 연결하여 셸을 사용할 수 있게 합니다.
  • -name: 컨테이너 이름을 hello로 지정합니다.
  • node:14: node:14 이미지를 사용합니다.
  • bash: 컨테이너에서 bash 셸을 실행합니다.

위에 명령어를 실행하면 Node.js 베이스 이미지를 기반으로 hello라는 이름의 컨테이너가 생성되고 bash 쉘로 들어가게 됩니다.

 

여기서 node 모든 버전을 확인하실 수 있습니다.

https://hub.docker.com/_/node

 

node - Official Image | Docker Hub

Docker Official Images are a curated set of Docker open source and drop-in solution repositories. Why Official Images? These images have clear documentation, promote best practices, and are designed for the most common use cases.

hub.docker.com

 

컨테이너를 이미지로 커밋

위에 명령어로 애플리케이션 설정이 완료한 후, 다른 터미널을 열고 다음 명령어를 실행하여 컨테이너를 이미지로 커밋합니다.

docker commit hello node-app
  • docker commit: 컨테이너의 현재 상태를 이미지로 저장하는 명령어입니다.
  • hello: 커밋할 컨테이너의 이름입니다. (위에 생성한 컨테이너 이름)
  • node-app: 생성될 이미지의 이름입니다.

위에 명령어는 hello 컨테이너를 node-app 이름의 이미지로 커밋합니다.

 

도커 이미지 실행

이제 생성된 이미지를 기반으로 컨테이너를 실행할 수 있습니다.

docker run -p 3000:3000 node-app
  • docker run: 새로운 컨테이너를 생성하고 실행하는 명령어입니다.
  • -p 3000:3000: 호스트의 포트 3000을 컨테이너의 포트 3000에 매핑합니다.
  • node-app: 실행할 이미지의 이름입니다.

호스트 포트는 외부에서 들어오는 포트로 내부 컨테이너 포트와 맵핑해서 외부에서 접근할 수 있도록 합니다.

위에 명령어를 실행하면 http://localhost:3000으로 애플리케이션에 접속할 수 있습니다.

 

우리는 방금 독집적인 공간에 컨테이너와 이미지를 생성했습니다!

 

도커 컨테이너 조회

실행 중인 도커 컨테이너 조회

docker ps -a
  • -a: 중지된 컨테이너, 실행 중인 컨테이너를 확인하는 명령어입니다.

위에 명령어로 컨테이너 id를 확인하실 수 있습니다.

 

도커 이미지 삭제

도커 이미지를 삭제하려면 먼저 실행 중인 컨테이너를 중지해야 됩니다.

 

1. 컨테이너 중지 및 삭제

docker stop <container_id>
docker rm <container_id>
  • docker stop <container_id>: 실행 중인 컨테이너를 중지합니다. <container_id>는 중지할 컨테이너의 ID 또는 이름입니다.
  • docker rm <container_id>: 중지된 컨테이너를 삭제합니다.

2. 이미지 삭제

docker rmi node-app
  • docker rmi node-app: node-app 이미지를 삭제합니다.
  • docker rmi <이미지 id>: 이미지 id로 이미지를 삭제할 수 있습니다. 

이미지 삭제 전에 먼저 컨테이너를 중지하고 삭제하고 이미지를 삭제해야 됩니다.

 

docker 이미지와 컨테이너 사용법 마지막으로

위에 5가지 과정으로 임시 컨테이너를 생성하고, 이미지를 만들고, 컨테이너로 독립적인 서버를 만들고 다시 컨테이너를 중지하고 삭제하고 이미지를 지우는 방법에 대해서 알아봤습니다.

 

Dockerfile 사용하면 더 편리하고 쉽게 이미지와 컨테이너를 생성할 수 있지만 docker 명령어와 옵션에 익숙해지기 위해서 명령어로 Node.js 베이스 이미지와 컨테이너를 띄어봤습니다.

 

다음 글에는 docker 컨테이너에 대해서 알아보겠습니다.

 


 

 

필자의 잘못된 부분이나 피드백은 언제든지 댓글로 남겨주세요!

감사합니다^^

 

 

2024.08.07 - [경제용어] - [경제용어] 조인트 벤처(Joint Venture) 뜻과 장단점 알아보기

 

[경제용어] 조인트 벤처(Joint Venture) 뜻과 장단점 알아보기

안녕하세요! ITibiza입니다. 이번 글에서 비즈니스 시장에서 많이 들을 수 있는 경제 용어 조인트벤처(Joint Venture)에 대해서 알아보겠습니다.조인트 벤처는 현대 비즈니스 환경에서 매우 중요한

itibiza.tistory.com

 

2024.08.05 - [IT소식] - 빅테크 기업들이 크로스 플랫폼 사용하는 이유?

 

빅테크 기업들이 크로스 플랫폼 사용하는 이유?

안녕하세요! ITibiza입니다. 요즘은 디지털 시대로 전 세계적으로 스마트폰을 안 쓰는 사람을 찾는 것이 더 힘듭니다.거의 모든 사람들은 스마트폰을 사용하고 있다는 의미입니다. 스마트폰마다

itibiza.tistory.com

 

2024.08.01 - [AWS] - 누구나 이해할 수 있는 AWS VPC 개념 & 서브넷

 

누구나 이해할 수 있는 AWS VPC 개념 & 서브넷

안녕하세요! ITibiza 입니다. 백엔드 개발자로 IT업계에서 일을 하신다면 클라우드 기반에 서비스로 인프라 & 서버 등등을 구축하는 것은 어려우면서도 중요한 일이라는 것을 알고 계실 겁니다. 

itibiza.tistory.com

 

2024.07.30 - [IT소식] - IT 필수 용어 VPN (Virtual Private Network) 알아보기

 

IT 필수 용어 VPN (Virtual Private Network) 알아보기

안녕하세요! ITibiza입니다. VPN은 Virtual Private Network 약자이며 가상 사설망으로 번역됩니다.인터넷과 같은 공공 네트워크를 통해 사설 네트워크를 구축하여 안전하고 익명적으로 데이터를 송수신

itibiza.tistory.com

 

반응형