본문 바로가기
코드리뷰

Docker 이해하는 세상에서 제일 쉬운 예제 만들기 - 기본 명령어 1

by 디마드 2024. 12. 22.
반응형

Docker 이해하기 위한 세상에서 제일 간단한 프로그램을 만들어 보자. 

"Hello, Docker World!"     출력하기

Docker를 한 줄로 정의하면, 개발, 실행 환경과 관계없이 언제 어디서든 프로그램을 실행할 수 있고 같은 결과를 가져오는 일종의 가상환경이다. 개발환경과 실행가능한 바이너리/라이브러리까지 모두 하나의 이미지로 만들고 필요할 때 도커에 컨테이너로 구성해 사용한다. 일반적인 가상화 컴퓨팅보다 훨씬 효율적으로 자원을 사용하며 사용법이 간단한다.  

실제 만들어 보자.

1. Docker 설치하기

https://www.docker.com/   접속해 자신의 OS에 맞는 설치파일을 다운로드하여 설치한다.

docker 설치

2. docker에서 실행할 간단한 프로그램을 만들자.

print("Hello, Docker World!")

파이썬 소스로 만든 "Hello~" 출력문이다.  hello.py로 저장하고  py hello.py로 실행해 보자. 

3. docker 이미지 설정파일 작성

FROM python:3.8-slim
WORKDIR /app
COPY hello.py .
CMD ["python", "hello.py"]

dockerfile 이름으로 파일을 생성하고 hello.py파일을 실행하게 한다. docker에 pyhone설치, 워킹디렉터리, 대상소스 복사해 python으로 실행하게 한다. 

4. docker 이미지 만들기

docker build -t hello-docker .

 

  • -t: 이미지의 태그(이름)를 지정
  • .: 현재 디렉토리의 Dockerfile 사용
  • 실행 결과: "hello-docker"라는 이름의 이미지가 생성됨
docker images

 

 

  • 로컬에 있는 모든 도커 이미지 목록을 보여줌
  • hello-docker 이미지가 목록에 표시됨

 

docker 이미지 목록

5. docker 이미지로 컨테이너를 실행해 보자. 

docker run hello-docker

 

  • 생성한 이미지로 컨테이너를 실행
  • "Hello, Docker World!" 메시지가 출력됨
  • 프로그램 실행 후 컨테이너는 자동으로 종료됨

docker 이미지 컨테이너로 실행

 

docker ps -a

 

  • 모든 컨테이너 표시 (중지된 것 포함)
  • 방금 실행했던 hello-docker 컨테이너가 'Exited' 상태로 보임

 

dockder ps -a

6. 컨테이너 삭제하기

docker rm [컨테이너ID]

docker 컨테이너 삭제하기

7. 이미지 삭제하기

docker rmi hello-docker
  • hello-docker 이미지를 삭제

 

docker 이미지 삭제 명령어

반응형

댓글