Skip to content

Instantly share code, notes, and snippets.

@thiagosf
Created August 14, 2021 12:20
Show Gist options
  • Select an option

  • Save thiagosf/a50e16d96bb6116e946e28688881a7e8 to your computer and use it in GitHub Desktop.

Select an option

Save thiagosf/a50e16d96bb6116e946e28688881a7e8 to your computer and use it in GitHub Desktop.

Revisions

  1. thiagosf created this gist Aug 14, 2021.
    62 changes: 62 additions & 0 deletions docker-compose.yml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,62 @@
    version: "3"
    services:
    web:
    image: node
    container_name: node-project-api
    working_dir: /var/www
    ports:
    - 3000:3000
    volumes:
    - ./api:/var/www
    env_file:
    - ./api/.env
    networks:
    - node-project-network
    depends_on:
    db:
    condition: service_healthy
    links:
    - db
    - db_test

    db:
    image: mysql:5.7
    container_name: node-project-mysql
    volumes:
    - ./start-sql:/docker-entrypoint-initdb.d
    - node-project-mysql-data:/var/lib/mysql
    ports:
    - 3306:3306
    networks:
    - node-project-network
    environment:
    MYSQL_ROOT_PASSWORD: root
    MYSQL_DATABASE: my_db
    MYSQL_USER: docker
    MYSQL_PASSWORD: docker
    healthcheck:
    test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
    interval: 2s
    timeout: 20s
    retries: 10

    db_test:
    image: mysql:5.7
    container_name: node-project-mysql-test
    ports:
    - 3307:3306
    networks:
    - node-project-network
    environment:
    MYSQL_ROOT_PASSWORD: root
    MYSQL_DATABASE: my_test_db
    MYSQL_USER: docker
    MYSQL_PASSWORD: docker

    networks:
    node-project-network:
    driver: bridge

    volumes:
    node-project-mysql-data:
    driver: local