Docker에 대해 이론적인 부분에 대해 알아봤으니, 간단한 장고 프로젝트를 가지고 실습을 해보았다.
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo docker
를 입력하면 docker 명령어에 대한 설명을 볼 수 있다.vi Dockerfile
FROM python:3.8
#python 3.8번을 base 이미지로 사용
WORKDIR /usr/src/app
#컨테이너 상에서 위의 위치로 작업 디텍토리로 전환, 앞으도 등장하는 명령어들은 위의 위치에서 진행
COPY requirements.txt ./
#라이브러리 파일들 복사
RUN pip install -r requirements.txt
#라이브러리 파일들 설치
COPY . .
# 해당 위치에 있는 모든 폴더 파일들 복사
EXPOSE 8000
#docker 8000 포트 사용
CMD ["gunicorn", "--bind", "0.0.0.0:8000", "paldo.wsgi:application"]
#gunicorn을 사용하여 로컬의 8000포트와 binding 할 것이며, paldo.wsgi와 연결
(위의 설정은 기본적인 설정만 해놓은 상태이다. 프로젝트에 따라 얼마든지 다양하게 바뀔 수 있다.)
docker build -t {dockerhubID}/{프로젝트명}:{버전} .
docker build -t kgh239/paldo:0.0.1 .
docker images
로 내가 만든 imaga 파일 확인docker run —name {container_name} -d -p 8000:8000 {image_name}:{버전}
docker run --name paldo001 -d -p 8000:8000 kgh239/paldo:0.0.1
docker ps -a