🔍 더 작은 이미지로 배포하기
1. docker 이미지는 용량 최적화를 위해 컨테이너 실행에 필요한 최소한의 파일만 들어있는 slim 이미지를 지원
2. 이미지의 태그별 특징
- buster, jessie, stretch
- debian에서 만든 linux를 기반으로 만들어진 이미지.
- buster, jessie, stretch는 os의 codename
- python:3.8과 python:3.8-buster는 동일. (약 300~350mb)
- slim
- 실행에 필요한 환경만 만들어둔 이미지.
- 이미지가 기본이미지에 비해서는 작다. (약 40~50mb)
- 보통 python 실행환경에서 가장 많이 쓰이는 이미지.
- alpine
- 용량이 작고, 보안에 집중한 alpine-linux 기반으로 만들어진 이미지.
- 이미지들 중에서 가장 작다. (약 15~20mb)
- python기준으로 봤을 때, pip install을 할 때 불리한 점이 있다.
3. backend/Dockerfile : 파이썬 버젼에 slim 추가
# python 3.10.8-slim버전 이미지를 사용해 빌드
FROM python:3.10.8-slim
4. docker-compose.yml : postgress와 nginx의 이미지를 alpine 이미지로 지정
postgres:
container_name: postgres
image: postgres:14.5-alpine # alpine 이미지를 지정해줍니다.
nginx:
container_name : nginx
image: nginx:1.23.2-alpine # alpine 이미지를 지정해줍니다.
5. 이미지 용량 변경 비교
🔍 도메인 구매하기
Freenom - A Name for Everyone
Cost Price Free Special
www.freenom.com
위 홈페이지에서 무료로 도메인 구매하기
🔍 도메인을 사용해 배포 서버에 접속하기
1. freenom에서 nameserver 설정하기
2. AWS에서 route53 설정하기
3. nginx/default.conf 수정하기 : 내가 구매한 도메인을 입력해준다.
server {
listen 80;
server_name www.spartacodingclub.cf; # www.spartacodingclub.cf 도메인으로 들어오는 요청을 처리해줍니다.
location / {
proxy_pass http://backend:8000/;
}
location /static/ {
alias /static/;
}
location /media/ {
alias /media/;
}
}
server {
listen 80;
server_name spartacodingclub.cf; # www가 없는 url로 요청 했을 때
return 301 http://www.spartacodingclub.cf$request_uri; # www를 붙인 url로 redirection 해줍니다.
}
4. 도메인 입력해보기
🔍 https 적용하기
1. https 란?
- 웹 서버에서 데이터를 전송하기 위한 http 프로토콜에 보안을 의미하는 secure를 붙여 http 통신을 더 안전하게 할 수 있도록 해주는 프로토콜이다.
- 보안적인 특성 때문에 배포를 하는 서비스에는 https 필수!!
- https를 적용하기 위해서는 SSL 인증서를 발급받고 웹서버에서 인증서를 지정해줘야함.
2. SSL 인증서 발급 받기
3. 대상 그룹 설정하기
4. 로드 밸런서 설정하기
5. route53 설정하기 - 레코드 편집하기
6. http 요청을 https로 redirect 하도록 설정하기
7. django settings.py 설정해주기
'Tools > Docker' 카테고리의 다른 글
Docker 명령어 정리 (0) | 2022.11.17 |
---|---|
Docker | 3주차 서비스 배포하기 (1) (0) | 2022.11.12 |
Docker | 2주차 Docker 설치&활용 (2) (0) | 2022.11.11 |
Docker | 2주차 Docker 설치&활용 (1) (0) | 2022.11.10 |
Docker | 1주차 Linux의 특징과 이해 (0) | 2022.11.10 |