본문 바로가기

Docker

Docker-compose.yml 분석!

- 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을 봐야한다. 지원하는 환경변수는 정해져있음. ( 도커허브의 해당이미지 참고 )

포트는 5432번 연결해라

 

 

 

# 아까배운 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
Recent Posts
Popular Posts
Recent Comments