version: "3" services: web: command: "bundle exec puma" tty: true stdin_open: true # NOtE: Use attach rather than this # Debug # command: /bin/bash container_name: ensl_dev build: context: ./ dockerfile: Dockerfile.dev # args: # buildno: 1 volumes: - ".:/var/www/" ports: - "4000:4000" - "35729:35729" links: - db - memcached #- spring #- selenium #- redis test: # Debug #stdin_open: true command: ["/bin/bash", "-c", "--", "while true; do sleep 100; done;"] container_name: ensl_test build: context: ./ dockerfile: Dockerfile.dev args: buildno: 1 env_file: - .env.test ports: - 3005:3005 # Capybara listens here links: - db # - selenium volumes: - ".:/var/www" # command: bin/spring server environment: TEST_APP_HOST: test TEST_APP_PORT: 3005 SELENIUM_HOST: selenium RAILS_ENV: test networks: default: aliases: - test redis: image: 'redis:4.0-alpine' container_name: ensl_dev_redis selenium: image: selenium/standalone-chrome-debug container_name: ensl_dev_selenium ports: - 5900:5900 - 4444:4444 # spring: # build: # context: ./ # dockerfile: Dockerfile.dev # args: # buildno: 1 # volumes: # - .:/var/www # command: spring server # This ensures that the pid namespace is shared between the host # and the container. It's not necessary to be able to run spring # commands, but it is necessary for "spring status" and "spring stop" # to work properly. # pid: host db: # Debug #command: bash #tty: true # command: mysqld_safe --skip-grant-tables image: mariadb:latest container_name: ensl_dev_db user: "mysql:mysql" volumes: - "./db/data:/var/lib/mysql" - "./db/initdb.d:/docker-entrypoint-initdb.d" - "./ext/mysql.conf.d:/etc/mysql/conf.d" environment: - MYSQL_DATABASE=ensl - MYSQL_USER=ensl - MYSQL_USERNAME=ensl - MYSQL_PASSWORD=ensl - MYSQL_ROOT_PASSWORD=ensl - MYSQL_ROOT_HOST=% memcached: image: memcached:latest container_name: ensl_dev_memcached #redis: # image: redis