-
도커 (Docker) 사용법데브옵스 (DevOps) 2023. 10. 1. 11:30SMALL
도커 Docker 란?
- Docker는 컨테이너를 사용하여 애플리케이션을 보다 쉽게 생성, 배포 및 관리할 수 있도록 설계된 오픈 소스 플랫폼이다.
- 컨테이너를 사용하면 개발자는 라이브러리 및 기타 종속성 등 필요한 모든 부분으로 애플리케이션을 패키징하여 모두 하나의 패키지로 출시할 수 있다.
도커 컨테이너란?
요약: 도커 이미지 기반 애플리케이션 실행되는 상태
- 컨테이너는 도커 이미지를 기반으로 생성된 실행 가능한 인스턴스이다.
- 독립적인 프로세스로 애플리케이션과 필요한 실행 환경을 포함한다.
- 여러 컨테이너를 동시에 실행할 수 있으며, 각각 격리된 환경에서 동작한다.
도커 이미지란?
요약: 컨테이너 구성하는 파일시스템과 실행할 애플리케이션 설정 하나로 합친 것 - 컨테이너 생성하기 위한 템플릿
- 도커 컨테이너가 실행되기 위한 종속성을 모두 가진 정적 파일이다.
- 이미지는 컨테이너를 생성할 때 사용되며, 여러 컨테이너에서 재사용 될 수 있다.
도커를 왜 사용해야할까?
- 변화하지 않는 실행환경확보를 위함
- 실행 환경과 애플리케이션의 일체화로 이식성 향상
애플리케이션 개발하며 변화 없는 동일한 환경 구성에 강력한 이점이 있음
간단한 실습 1
도커이미지 다운로드 및 컨테이너 실행 방법에 대해 알아보자
1. 터미널에서 도커를 설치한다.
sudo wget -qO- http://get.docker.com/ | sh
2. 도커 설치가 잘 되었는지 확인하기 위해 터미널에서 docker version을 입력한다.
docker version
3. 최초 실행시 아무 이미지도 등록되어있지 않았을테니, 도커 허브로부터 우분투 도커 이미지를 다운받아보자.
- docker pull은 이미지를 다운로드하는 명령어임 (아직 실행한 상태 아님)
docker pull ubuntu:22.04
4. 위 이미지로 컨테이너를 실행해보자
- ubuntu:22.04 이미지로 컨테이너가 실행된것을 확인할 수 있다.
docker run -it ubuntu:20.04 bash
5. 현재 실행중인 컨테이너 현황은 docker ps 로 확인할 수 있다.
- ubuntu:20.04 이미지를 기반으로 한 컨테이너가 잘 실행되고 있음을 확인할 수 있었다.
5-1. 현재 실행 중인 컨테이너 현황은 docker container ls 로 확인해도 동일하다.
5-2. 종료된 컨테이너까지 모두 확인할 수 있는 방법은 docker container ls -a 로 확인하면 된다.
5-3. 보유중인 도커이미지 현황은 docker image ls 로 확인할 수 있다.
간단한 실습 2
내 프로젝트를 이미지로 남기고 해당 이미지를 열어보는 실습을 해보자
1. 내가 올리고 싶은 프로젝트 폴더에 Dockerfile을 생성한다.
FROM python:3.9.13 # 애플리케이션 소스 코드 복사 COPY . /app # 종속성 설치 WORKDIR /app RUN pip install -r requirements.txt # 애플리케이션 실행 CMD ["python", "practice.py"]
practice.py에는 임시 출력 텍스트만 작성했으며, requirements.txt에는 실행파일에서 필요한 의존성 패키지들을 기술해주면 되는데 print()기능만 사용했으므로 필요한 패키지가 없어 공란으로 두었다.
맨 밑에 CMD ["python", "practice.py"] 로 인해 해당 Dockerfile을 불러오면 자동으로 practice.py가 실행된다.
2. 프로젝트 폴더 경로로 들어와 docker build를 통해 이미지를 생성한다. 이미지 이름은 임의로 붙여주면 된다.
docker build -t 붙여주고 싶은 이미지명 .
위와 같이 파란색으로 글씨가 보인다면 성공이다.!
3. 해당 도커이미지를 불러오고 싶다면 간단한 실습 1에서 했던 바와 같이 docker run 이미지명 구문을 실행한다.
docker run 이미지명
practice.py 에서 의도한 "Docker 이미지로 불러올 때 출력됩니다." 문구가 잘 나타난다.
4. 만일 이미 올린 도커 이미지를 수정하고 싶다면 docker build -t 이미지명:v2 와 같이 ':' 뒤에 버전 명이나 숫자 등을 작성해 재빌드해주면 끝!
이외에도 docker-compose 등 도커에는 편리한 기능이 많으니 지속적으로 내용을 업데이트 할 예정이다 :)
반응형LIST'데브옵스 (DevOps)' 카테고리의 다른 글
CI/CD 파이프라인 개념 - CD 편 (0) 2023.08.15 CI/CD 파이프라인 개념 - CI 편 (0) 2023.08.13