2017-12-16 26 views
1

내가 뭔가 3 개 서비스를 제공이실행 여러 웹 사이트 - 고정 표시기

version: "3.0" 

volumes: 
    dbdata: 
    .: 

services: 
    api: 
    build: 
     context: ./api 
     args: 
     - APP_NAME=${APP_NAME} 
     dockerfile: dockerfile 
    depends_on: 
     - database 
     - webserver 
    volumes: 
     - ./api:/usr/local/share/${APP_NAME} 

    database: 
    image: mysql:5.7 
    volumes: 
     - ./dbdata:/var/lib/mysql 
    restart: always 
    ports: 
     - ${COMPOSE_DB_PORT}:3306 

    webserver: 
    build: 
     context: . 
     dockerfile: webserver.dockerfile 
    working_dir: "/usr/local/share/${APP_NAME}" 
    volumes: 
     - ./api:/usr/local/share/${APP_NAME} 
    restart: always 
    ports: 
     - ${COMPOSE_APP_PORT}:80 

같은 것을 보이는 고정 표시기-compose.yml 파일을 구성한다. 웹 사이트, 데이터베이스 및 예상대로 작동하는 웹 서버가 포함됩니다.

이제 API 프로젝트와 동일한 데이터베이스를 사용하는 CMS 인 별도의 웹 프로젝트가 있는데이 파일을이 도커 작성 파일에 추가하려고하지만 웹 서버 서비스를 구성하는 방법을 알 수 없습니다. 상기 2 개의 웹 사이트로부터의 요청을 처리한다. CMS 용으로 다른 웹 서버를 추가해야합니까?

Google에서 검색했지만 명확하지 않은 항목을 찾을 수 없었으며 대부분의 결과는 익숙하지 않은 오래된 도커 작성 버전을 사용하고있었습니다.

미리 감사드립니다.

답변

1

일반적으로 별도의 웹 서버가 필요하며 이는 80이 아닌 자체 포트를 노출하고 게시합니다.

그리고 경로 나 포트에 따라 쿼리를 올바른 웹 서버로 리디렉션하기 위해 리버스 프록시를 보장하는 전용 리스너 (일반적으로 NGiNX)가 있어야합니다.

.

예를 들어, "Docker compose : NGINX reverse proxy with multiple containers"