2019.05.02 - docker-compose.yml 파일의 config 설정에 따라 달라지는 효과
docker-compose는 docker-compose.yml 파일 안의 key가 존재하느냐 하지 않느냐에 따라 실행되는 방식이 아예 달라진다.
1. image 키가 존재, build 키가 없을 때
"지정한 이미지를 실행해줘"
- 해당 image를 실행한다.
- 다른 경우와 같이 image가 로컬에 존재하면 그 이미지를 쓰고 존재하지 않으면 hub에서 받아와서 실행한다.
2. image 키가 존재, build 키가 존재
"현재 디렉토리에서 Dockerfile을 build해서 실행해주고, build 된 이미지의 이름은 image야"
- build 키의 value가 Dockerfile의 이름이 되고 만약 .을 넣으면 Dockerfile의 기본 이름인 Dockerfile을 불러온다.
- image 키의 value는 Dockerfile을 통해 빌드 한 이미지의 네임스페이스다. (위의 경우엔 해당 image를 불러와라는 뜻이었지만 이 경우엔 완전히 달라진다.)
3. image 키가 존재하지 않음, build 키가 존재
"현재 디렉토리에서 Dockerfile을 빌드해서 실행해주고, 빌드 된 이미지 이름은 CurrentDirectory_ServiceName이야."
- 2번과 마찬가지이지만 이 경우엔 image 키가 없으므로 해당 이미지에게 어떤 이름을 줘야할 지 모른다.
- 이 때 Docker는 이미지 이름을 '현재디렉토리_서비스이름' 으로 짓고 image list에 등록한다.
1. image 키가 존재, build 키가 없을 때
"지정한 이미지를 실행해줘"
- 해당 image를 실행한다.
- 다른 경우와 같이 image가 로컬에 존재하면 그 이미지를 쓰고 존재하지 않으면 hub에서 받아와서 실행한다.
2. image 키가 존재, build 키가 존재
"현재 디렉토리에서 Dockerfile을 build해서 실행해주고, build 된 이미지의 이름은 image야"
- build 키의 value가 Dockerfile의 이름이 되고 만약 .을 넣으면 Dockerfile의 기본 이름인 Dockerfile을 불러온다.
- image 키의 value는 Dockerfile을 통해 빌드 한 이미지의 네임스페이스다. (위의 경우엔 해당 image를 불러와라는 뜻이었지만 이 경우엔 완전히 달라진다.)
3. image 키가 존재하지 않음, build 키가 존재
"현재 디렉토리에서 Dockerfile을 빌드해서 실행해주고, 빌드 된 이미지 이름은 CurrentDirectory_ServiceName이야."
- 2번과 마찬가지이지만 이 경우엔 image 키가 없으므로 해당 이미지에게 어떤 이름을 줘야할 지 모른다.
- 이 때 Docker는 이미지 이름을 '현재디렉토리_서비스이름' 으로 짓고 image list에 등록한다.
댓글
댓글 쓰기