I want to do
docker-compose run --rm my-service npm run test;
database service, which uses some local volumes that I don’t want to honor while executing the command above, because I may have created some data on development QA.
I know I could use just another database for testing, but it’s not only the
database service that may be polluted with data, I got some other services (like s3 mocking) that may have some files I don’t want to see from within the test cases.
Is there any way I can “disable” local volumes for certain
docker-compose run command? Like
docker-compose run --rm --no-volumes my-service npm run test
The volumes of my
database: container_name: database image: mariadb:10.3.6 ports: - 3306 volumes: - db_data:/var/lib/mysql redis: container_name: redis image: redis:3.2.11-alpine ports: - 6379 volumes: - redis_data:/data volumes: db_data: driver: local redis_data: driver: local
Do I need to create a
docker-compose.testing.yml file? How can I override those volumes to “disable” them and run the tests?
Also, if I have this compose file
version: '3' services: api: build: ./node-app depends_on: - database environment: - PORT=3001 database: environment: - MYSQL_DATABASE=project
I can do
docker-compose run --rm -e PORT=3002 api npm run test and properly override the
PORT in the compose file, but how can I also provide an override to a dependency of that
api service (database) if I want to provide a different