Docker 활용하기

Lungnaha·2022년 3월 5일
1

Docker&k8s

목록 보기
4/9

💪 들어가며...

이번 시간에는 Docker를 활용하는 법에 대해서 다루어보려고 합니다.
이번 포스트에는 간단하게 Docker와 가상환경의 차이에 대해 다루어보고, 어떤 과정으로 이것을 진행하면 되는지에 대해서 이야기 나누어보겠습니다.

🐳 Docker vs 가상환경

가상환경

  • 하나의 서버 내에서 프로그램 별로 환경 구분이 가능
  • 가상환경 별로 컴퓨팅 파워를 지정하고 이를 넘겨주거나 하는 것이 불가능하기에 비효율적인 상황이 발생 가능

Docker

  • 컴퓨팅 파워를 가상환경과 달리 유동적으로 공유해서 사용 가능
  • 컨테이너(가상 컴퓨터) 형태로 환경을 구분
  • 이미지를 통해서 동일한 형태의 컨테이너를 무한히 생성 가능
    (Auto Scaling 활용 가능)

🐬 Docker 활용하기

이번 시간에 활용할 활용법은 Docker를 활용해서 Django와 Nginx를 실행시키는 과정을 간단하게 설명할 것입니다.

Django Docker 실행하기

  1. EC2 인스턴스 위에 Django 다운(관련 포스트 확인)
  2. 다운 받은 Django의 requirements.txt 에 uwsgi 추가 기입
  3. 명령어 입력으로 Docker 설치
  4. 설치한 Docker에 권한 설정
    -> 해당 과정은 여러 컨테이너의 사용을 유기적으로 하기 위해 필요
  5. 원하는 환경에 맞는 Docker 파일 생성
    (관련 내용은 인터넷 검색으로 찾는 것이 좋습니다.)
  6. 명령어 입력으로 Docker 파일에 해당하는 이미지를 생성
  7. 도커 실행으로 해당 이미지(Django 이미지)를 실행시키는 것이 가능

Nginx Docker 실행하기

  1. 기존 생성했던 Django 폴더에 uwsgi.ini 이름으로 설정파일 생성
    (해당 파일은 추후에 만들 Nginx와 연결을 위한 폴더)
  2. Django 폴더 밖에 Nginx 관련 폴더 생성
  3. 생성된 폴더 안에 nginx.conf 이름으로 Configue 파일 생성
  4. Nginx 관련 Docker 파일 생성
  5. Docker 파일에 해당하는 이미지를 생성하고 이미지를 실행

문제점

위의 과정으로 프로젝트를 진행하면 문제가 발생할 수 있습니다.
위의 구조로 프로젝트를 진행하려면 Django가 먼저 실행되고, Nginx가 실행되어야 하는데, 이런 순서를 맞춰주는데에 어려움도 있고, 번거롭기 때문에 이를 해결하기 위해 아래와 같은 방법을 사용합니다.

Docker-Compose 활용하기

  1. 명령어로 Docker-Compose 다운 받기
    (윈도우 같은 경우 도커가 설치되면 자도으로 다운 되는데, Linux는 추가 설치 필요)
  2. Docker-Compose 에 권한 설정하기
    (Docker에 권한을 주었던 것과 동일 과정)
  3. Docker-Compose 관련 파일 생성
    (파일 내부에 이미지 내용과 순서 등 설정을 기입)
  4. Docker-Compose를 실행해서 원하는 순서대로 Docker 실행 가능
profile
Long🌈Now😁Happy💖

0개의 댓글