을 구성 .공유 컨테이너 정의는의 nginx 프록시 컨테이너 정의가 내 고정 표시기-작성에
포트 80을 사용하기 때문에 컨테이너를 매번 중지하지 않고 어떻게 할 수 있습니까? 그 아이디어는 다음과 같습니다. nginx-proxy
컨테이너가 실행 중이 아니면 이것을 실행하십시오. 그렇지 않으면 실행중인 컨테이너를 사용하십시오.
을 구성 .공유 컨테이너 정의는의 nginx 프록시 컨테이너 정의가 내 고정 표시기-작성에
포트 80을 사용하기 때문에 컨테이너를 매번 중지하지 않고 어떻게 할 수 있습니까? 그 아이디어는 다음과 같습니다. nginx-proxy
컨테이너가 실행 중이 아니면 이것을 실행하십시오. 그렇지 않으면 실행중인 컨테이너를 사용하십시오.
모든 프로젝트에 대해 하나의 nginx를 가질 수 있습니다. 이 경우 당신은 당신이 어디에] only_nginx의 nginx 서비스/고정 표시기-compose.yml 파일이 당신의 모든 프로젝트 고정 표시기-작성 파일에 블록의
projectx_service:
extends:
file: /path_to/only_nginx/docker-compose.yml
service: nginx-proxy
...
이 종류를 사용해야합니다.
예 :
only_nginx/고정 표시기-compose.yml :
nginx-proxy:
image: jwilder/nginx-proxy
ports:
- "80:80"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
프로젝트 1/고정 표시기-compose.yml
project1_service:
extends:
file: /path_to/only_nginx/docker-compose.yml
service: nginx-proxy
...
프로젝트 2/고정 표시기-구성한다. yml
project2_service:
extends:
file: /path_to/only_nginx/docker-compose.yml
service: nginx-proxy
...
이것은 해결되지 않습니다 원래의 문제가 아니라 코드의 중복을 피하십시오. 두 프로젝트에서'docker-compose up'을 실행하면 먼저 ok입니다. 두번째는 항상 "0.0.0.0:80 바인드 실패 : 포트가 이미 할당되었습니다"라고 알려줍니다. 또한 Docker Compose v3에서'extends' 키워드가 사용되지 않습니다. –
Compose v2 사양을 사용하고 있습니까? –
예. ... [쓸모없는 글자 쓰기] ... –
나는 스크립트가 필요하다고 생각합니다. 뭔가 : ping 또는 포트 80을 사용하여 nginx를 확인하십시오. 그렇지 않으면 docker-run을 실행하여 nginx-proxy를 실행하여 포트를 만듭니다. – levi