본문 바로가기
정보통신기술/개발 방법론·PM

Docker 설치 및 예제

by plog 2024. 9. 8.

Docker 소개

도커(Docker)를 처음 접하는 분들을 위해 설치부터 간단한 예제까지, 알아보려고 합니다. 도커가 무엇인지 궁금하셨던 분들이라면 이 글을 통해 쉽게 이해하고 직접 사용해 보실 수 있기를 기대합니다.

 

Docker란 무엇일까요?

도커는 컨테이너 기반의 오픈 소스 플랫폼으로, 애플리케이션을 빠르고 일관되게 개발, 배포 및 실행할 수 있도록 도와줍니다. 마치 각각의 애플리케이션을 독립적인 컨테이너에 담아 운영하는 것과 같아서, 서로 다른 환경에서도 동일하게 작동하는 애플리케이션을 만들 수 있습니다.

 

Docker 설치

윈도우에서 설치및 실습 합니다.

 

1. 도커 다운로드
https://docs.docker.com/desktop/install/windows-install/

 

2. 도커 설치

추천하는 설정대로 설치. 회원가입은 구글 계정이나 직접 가입이 가능합니다. 

 

설치가 끝나면, 트레이 아이콘으로 확인 가능합니다.

 

3. 도커 실행

파워셀 실행해서 진행하는걸 추천 드립니다. cmd(명령프롬프트) 업그레이드 버전.

 

4. 실습파일

main.py, requirements.txt

# main.py

print('hello world')
# requirements.txt

pandas==2.1.0

 

dockerfile

#Dockerfile

FROM python:3.9-buster

# 작업 디렉토리를 생성하고 설정합니다.
WORKDIR /app

# requirements 파일을 작업 디렉토리로 복사합니다.
COPY requirements.txt /app/

# 패키지
RUN pip3 install --no-cache-dir -r requirements.txt

# 나머지 애플리케이션 코드를 작업 디렉토리로 복사합니다
COPY . /app/

 

5. 도커 빌드

파워셀을 실행해서 실습 파일 위치로 이동해서 진행하거나, Docker desktop 하단 부분 눌러서 윈도우 파워셀 이용하셔도 됩니다. 참고로 도커허브에 올리기 위해서는 이미지명 앞에 계정명을 넣어야 합니다.

docker build -t plogds/doctest .

 

6. 도커 컨테이너 실행

docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
-i: 컨테이너에 접속하지 않은 상태여도 표준 입력 활성. 
-t: 쉘에 명령어를 작성 가능.
-d : 컨테이너 백그라운드 실행.
-p: 웹서버 포트.
-v: 현재 working directory를 컨테이너에 마운트 하는 옵션이다. 

ex)  -v <호스트 디렉터리>:<컨테이너 디렉터리>
--name : 계정명(컨테이너 호스트명)단한 설명

docker run -d -t plogds/doctest --name=plogds

 

7. 도커 환경 진입
docker ps를 통해 container ID 확인
ex) docker ps

docker exec를 통해 도커 컨테이너로 진입
ex) docker exec -it {컨테이너 ID} bash

PS D:\src\python\docker> docker exec -it 180f60a5eced bash

 

8. 도커 실행 결과

 

도커파일 작성법

1. dockerfile 작성 요령
FROM : 특정 이미지를 Dockerhub에서 가져와 설치합니다.
WORKDIR : 작업 폴더.
COPY :  이경로를 , 이 경로에 복사한다 
EXPOSE : 이미지 실행 시 특정 포트로 도커 이미지 전송
RUN : 해당 명령어를 docker상에서 실행합니다.
CMD : 명령어를 실행합니다. 단, 컨테이너가 실행되고 실행되는 명령어임이 RUN 과의 차이점

2. .dockerignore 파일
.gitignore 파일과 유사. dockerfile을 기반으로 빌드를 진행 할 때 제외 항목

댓글