Django 설치만 하고 기본 페이지 나오는 것을 바탕으로 Docker Hub에 올려보기로 한다.

Dockerfile을 통해 image를 만든다. 본인은 Windows를 사용하기에 기본 base를 우분투 사용

1. Djangoproject 만들기

기본 프로젝트 구조

python manage.py runserver

실행시킨 후 기본 페이지가 나오나 확인!

귀여운 기본 페이지!

 2. Dockerfile 작성

FROM ubuntu
MAINTAINER 이름 <이메일>

RUN apt-get update
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN apt-get install -y python3-pip python3-dev
RUN pip3 install --upgrade pip
RUN pip3 install -r requirements.txt
COPY . .

EXPOSE 8000
CMD ["python3", "manage.py", "runserver", "0.0.0.0:8000"]

처음에 dockerfile이 확장명인줄 알고 헛짓거리 했다는...

※ 저는 manage.py 있는곳에 Dockerfile을 썼는데 위치가 다르신분들은 옮겨주셔야합니다.

- Dockerfile 문법

FROM : 어떤 이미지를 기반으로 이미지를 생성할지 정함. 없다면 docker hub에서 검색함

MAINTAINER : 이미지를 생성한 사람의 정보 설정

RUN : FROM에서 설정한 이미지 위에서 명령 실행

WORKDIR : 명령들이 실행될 디렉터리 설정

COPY : 파일을 이미지에 추가 .dockerignore 파일로 설정한 것들은 제외됨

EXPOSE : 호스트와 연결할 포트 번호 설정인데 외부에 노출은 되지 않아서 DOCKER RUN 명령에서 -P 옵션을 사용하여 지정해 주어야함

CMD : 컨테이너가 시작되었을때 실행됨 

3. image 만들기

docker build --tag dockerdjango .

태그 이름은 자유!

dockerdjango, ubuntu 2가지 image가 생성됩니다.

4. container 실행

docker container run -p 8000:8000 --rm dockerdjango

-p가 port 옵션인데 <host 포트> : <container 포트> 입니다.

위에서 8000번으로 돌렸으니깐 뒤에 container 포트는 8000을 해야겠죠?

--rm 은 컨테이너가 종료됨과 동시에 자동으로 삭제되게 할 수 있는 옵션입니다.

5. localhost:8000 접속!

기본페이지가 똑같이 나온다면 성공!

6. Docker Hub에 repository 생성

 

Docker Hub

Docker Certified:Trusted & Supported Products Certified Containers provide ISV apps available as containers. Certified Plugins for networking and volumes in containers. Certified Infrastructure delivers an optimized and validated Docker platform for enterp

hub.docker.com

6. docker login 하기

docker login

docker hub id랑 비번 치시면 됩니다.

7. image에 태그 달기

docker tag dockerdjango 도커아이디/레파지토리이름:태그

8. push

docker push 도커아이디/레파지토리이름:태그

 

dockerhub에 잘 들어갔는지 확인하시면 완료입니다!

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기