본문 바로가기
Linux

Docker - 기본 배포/실행 방법

by 올엠 2024. 3. 7.
반응형

Docker를 이용한 기본 배포 시나리오는 다음과 같이 3단계로 이루어진다.

이미지 다운로드 ->  컨테이너 실행 -> 포트 매핑(선택, 네트워크 연결) 로 진행된다.

이를 기본적으로 실행하는 방법을 각 단계별로 순서대로 알아보고자 한다.

Docker의 모든 이미지는 이름 태그(Tag)를 가지고 있고 이를 이용해서 이미지를 다운로드하게 된다.

이미지 다운로드

이미지 다운로드는 기본적으로 docker login을 통해 로그인한 Docker Repo와 연결되고, 해당 저장소에서 이미지를 찾게 된다.

docker image python:3.10-slim

그리고 이미지는 : 이후로 태그를 갖는데 태그는 아래와 같은 방식으로 사용되는 아래 문서를 참고하자.

Docker - Image Alpine, Slim, Stretch, Buster, Jessie, Bullseye

 

컨테이너 실행

컨테이너를 실행하기 위해서는 먼저 이미지를 생성한 Dockerfile을 참고할 필요가 있다.

Dockerfile은 이미지를 생성할 때 사용하는 이미지 구성 파일로써, Docker-Hub에서도 Dockerfile을 확인할 수 있다.

https://github.com/docker-library/python/blob/39ee37caebef9628f3b906b8b778d467eb32005f/3.10/slim-bullseye/Dockerfile

Dockerfile을 확인하기 어려운 경우에는 history를 통해서 image 제작 내용을 이해할 수 있다는 점도 이해하기 바란다.

Dockerfile 작성은 기본적으로 아래와 같은 내용을 이해하면 좋다.

 

  • FROM

기본 베이스 이미지

  • RUN

컨테이너를 생성하면서 실행할 명령

  • EXPOSE

노출 포트, 호스트와 통신할 포트 정보

  • ADD

압축, URL 등에서도 해제하거나 복사해 오는 것이 가능

  • COPY

파일, 디렉토리를 복사

  • WORKDIR

작업 디렉토리 지정, 상대 경로의 기본 폴더가 됨

  • CMD

도커 컨테이너가 실행하는 명령, 1개만 존재 가능

컨테이너 관리

이제 앞서 다운로드와 실행을 위해 도커파일 준비를 맞쳤기때문에, 마지막으로 컨테이너를 관리하는 부분으로 넣어왔다.

컨테이너 실행

docker container run 명령을 이용해서 사용할 수 있다. 여기에서 container 는 생략이 가능하여, docker run 만으로도 실행이 가능하다. docker image ls를 이용해서 image를 확인하고, docker container run 을 이용해서 해당 이미지를 실행할 수 있다.

이때 --name 인자를 이용해서 실행되는 컨네이터 이름을 줄 수 있고, 이는 추후 docker container ls 명령을 통해서 이름 구분에 사용된다.

 

컨테이너 중지

docker container stop 명령으로 중지가 가능하다, 

이외 미리 알아두면 좋은 관리 명령들은 아래 와 같다.

  • 데몬(백그라운드 실행)
docker -d
  • 네트워크 포트 매핑
docker -d -p 80:80
  • 로그 모니터링 
docker logs -f
  • 컨테이너 확인
docker exec -it <container> bash

 

반응형