● Docker 설치
지금은 혼자서 개발하고 있지만 여러 명과 협업하게 된다면 사람마다 여러가지의 운영체제로 각자 맡은 업무를 개발하게 될 것이고 작업한 결과물을 리눅스 서버로 올리게 되면서 예상치 못한 오류와 같은 문제가 생길 것이다. 도커는 이러한 문제들을 안정적으로 처리해준다.
즉 도커는 다른 하드웨어, 운영체제에서 작업하더라도 동일한 환경을 갖출 수 있도록 해준다.
docker -v를 입력하여 제대로 설치 되었는지 확인한다.
● Docker 파일 만들기
모듈 리스트 만들기
지금까지 사용된 라이브러리들은 가상환경(venv)에 설치되어 있다. 이제부터 설치된 라이브러리를 도커로 컨네이너로 옮기는데 cmber 터미널에서 pip freeze > requirements.txt 명령어로 설치된 라이브러리들을 txt파일에 담아 저장한다.
Requirements.txt파일의 내용을 보면 다음과 같다.
Docker 파일 설정하기
도커 설정 파일에는 로컬 환경과 동일한 컨테이너 이미지를 만들기 위해 내용을 작성한다. 확장자 없이 그냥 Dockerfile 파일을 만들고 다음과 같이 작성한다. Docker 설정 파일의 기본 파일명은 dockerfile이니 파일명을 임의로 작성하면 귀찮으니 기본 파일명을 쓰도록 한다.
Docker compose 파일 만들기
Compose 파일을 이용하면 컨테이너를 여러 개 실행시킬 수 있고 옵션도 줄 수 있다. Docker-compose.yml이 기본 파일명이다.
개발환경 파일 작성을 위한 setting.py 파일 수정
로컬에서 개발 중일 때와 실제로 서비스를 할 때 settings.py을 다르게 적용하기 위하여 다음과 같이 수정한다. os.environ.get()으로 개발환경 파일에서 값을 읽을 수 있으면 사용하고 그렇지 않으면 두 번째 매개변수 값을 활용한다.
개발할 시의 환경설정을 위한 .env.dev 파일을 만든다.
Docker 컨테이너 실행
Cmder 터미널에서 docker-compose bulid 명령어로 이미지를 만들고 docker-compose up으로 컨테이너를 실행한다.
그 후 블로그에 접속하면 runserver 명령어로 접속하는것과 동일하게 접속이 가능하다.
docker compose up -d 명령어는 백그라운드에서 실행 되게 하는 명령어로 로그를 보여주지 않으며 터미널을 닫아서 정상적으로 작동되게끔 해준다.
docker image ls 명령어는 생성된 이미지를 보여준다.
docker container ls 생성된 컨테이너를 보여준다.
Web 컨테이너 안에서 테스트도 가능하다
Docker compose down으로 컨테이너를 중단할 수 있다.
'Backend > Django + Bootstrap 개발 일지' 카테고리의 다른 글
35.Gunicorn, Nginx (0) | 2022.10.23 |
---|---|
34. PostgreSQL 사용 (0) | 2022.10.21 |
32. 자기소개 페이지 (0) | 2022.10.15 |
31. 대문 페이지 (0) | 2022.10.13 |
30. 검색 기능 구현 (0) | 2022.09.19 |