- yml 파일은 계층적 구조. -> 들여쓰기 잘해야됨.
- services 밑에 컨테이너들
- services 밑에 db, backend, frontend 가 있다.
5. image: postgres:12.0-alpine
도커허브에서 이미지 받아와서 써라
16. build:
context: ./backend
이미지를 dockerhub에서 받아오거나 Dockerfile로 이미지 만들 수 있다. ( 지금 파일 docker-compose.yml 이 있는 현재디렉토리의 /backend 의 dockerfile 을 쓰겠다. -> 라는 의미로 build context 를 지정한다.
# 아까 배운 환경변수
환경변수들은 discription을 봐야한다. 지원하는 환경변수는 정해져있음. ( 도커허브의 해당이미지 참고 )
# 아까배운 args
# 환경변수를 파일로 넣어줄 수도 있다.
--------------------------------------------------------------------------------------------------------------------------------
# env.dev
.env.dev의 환경변수 SECRET_KEY를 setting.,py에서 사용중 ( docker-compose에서 env파일로 지정했기 때문에 읽을 수 있음 )
-> 왜 env 파일로 분리를 했나? -> 비밀번호 같은 건 깃허브에 올리면 안됨 -> 파일로 모아두고 .gitignore 등록
--------------------------------------------------------------------------------------------------------------------------------
다시 docker-compose.yml
command : 컨테이너가 띄워질 때 실행하는 명령어를 지정 -> 서버를 실행하려면 명령어 실행 ( backend는 python 실행 ) ( 8000번포트로 )
frontend도 마찬가지로 개발버전 서버 실행 ( backend의 command 처럼 yarn start 라고 쳐도 같음 )
- 리액트는 기본적으로 3000번 포트에서 서버가 열림
- 3000번말고 바꿔도 됨
# 라이브 리로딩
- 도커를 띄워두고 개발하는데 라이브 리로딩 을 적용하면 코드를 바꾸고 저장누르면 도커를 다시 빌드하지 않고도 컨테이너에 바로 반영됨. -> 장고나 플라스크에서도 따로 설정해야됨. ( 디버그 켜놔야됨 )
-> 찾아보고 적용하기
# 볼륨
왼 : 로컬, 오: 도커 컨테이너
왼의 backend 폴더를 오른쪽의 backend 폴더와 공유시키겠다. 서로 값을 바꾸면 둘 다 바뀜 ( 복사 X )
-> 공유되는 것이 볼륨기능
임의의 볼륨이 내 컴퓨터에 생긴 뒤 지정됨.
---------------------------------------------------------------------------------------------------------------------------------
브라우저에서 80번 포트는 기본
-d 옵션 넣으면 백그라운드 실행 ( daemon )
13:07
1:2 이면 외부에서는 1포트로 접근, 도커 내 컨테이너 끼리는 2번을 쓴다.
'Docker' 카테고리의 다른 글
Docker Network 구조 및 동작 원리 (0) | 2022.08.04 |
---|---|
도커 정리 + 웹서버 (0) | 2022.07.24 |
Dockerfile 분석! (0) | 2022.07.07 |
Docker 기본개념 (0) | 2022.07.06 |