Setting up docker auto build to use docker-compose file

1.1k views Asked by At

I am trying to set up auto builds using docker cloud/docker hub. It is always looking for Dockerfile when I have a docker-compose.yml. I am unable to find any option to change this. I am wondering whether this isn't possible or am I missing something?

This is my docker-compose.yml

version: '3'
services:
  reverse-proxy:
    image: traefik
    ports:
      - "80:80"
      - "443:443"
      - "${TRAEFIK_DASHBOARD_PORT}:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./traefik/traefik.toml:/etc/traefik/traefik.toml
      - ./traefik/certs/journal.crt:/certs/journal.crt
      - ./traefik/certs/journal.key:/certs/journal.key
    networks:
      - web
  prisma:
    image: prismagraphql/prisma:1.8
    restart: always
    ports:
      - "${PRISMA_PORT}"
    networks:
      - web
    environment:
      PRISMA_CONFIG: |
        port: ${PRISMA_PORT}
        managementApiSecret: ${PRISMA_MANAGEMENT_API_SECRET}
        databases:
          default:
            connector: postgres
            host: ${PRISMA_DB_HOST}
            port: ${PRISMA_DB_PORT}
            database: ${PRISMA_DB}
            user: ${PRISMA_DB_USER}
            password: ${PRISMA_DB_PASSWORD}
            migrations: ${PRISMA_ENABLE_MIGRATION}
  graphql-server:
    build:
      context: ./graphql-server/
      args:
        - PORT=${GRAPHQL_SERVER_PORT}
    networks:
      - web
    ports:
      - "${GRAPHQL_SERVER_PORT}"
    volumes:
      - ./graphql-server:/usr/src/app
    depends_on:
      - prisma
    command: ["./wait-for-it.sh", "prisma:${PRISMA_PORT}", "--", "./bootstrap.sh"]
    environment:
      - PRISMA_SERVICE_NAME=prisma
      - PRISMA_PORT
      - GRAPHQL_SERVER_PORT
      - APOLLO_ENGINE_KEY
      - PRISMA_ENDPOINT
      - PRISMA_MANAGEMENT_API_SECRET
    labels:
      - "traefik.backend=graphql"
      - "traefik.frontend.rule=Host:api.journal.com"
      - "traefik.enable=true"
      - "traefik.port=8080"
      - "traefik.docker.network=web"
  react-client:
    build:
      context: ./react-client/
      args:
        - PORT=${REACT_CLIENT_PORT}
    ports:
      - "${REACT_CLIENT_PORT}"
    volumes:
      - ./react-client:/usr/src/app
    depends_on:
      - graphql-server
    environment:
      - GRAPHQL_SERVER_PORT
      - REACT_CLIENT_PORT
    networks:
      - web
networks:
  web:
    external: true

Both docker hub and docker cloud are trying to get only the dockerfile and not docker-compose. I also saw a post mentioning docker-compose should be used only for running and not for building; so I am not sure whether I am doing something wrong.

0

There are 0 answers