docker-compose doesn't clean cache or temporary files

Viewed 29

Using docker-compose, after joining a cluster of Rabbitmq using:

docker-compose up
docker exec -it rabbitmq3 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@rabbitmq2
rabbitmqctl start_app

Every time I restart docker-compose the cluster is on.
Even after removing the containers and pruning the system:

docker-compose down
docker kill $(docker ps -q)
docker rm $(docker ps -a --format "{{.ID}}")
docker volume prune
docker system prune

How can I reset the containers?

version: "3.2"
services:
  rabbitmq2:
    image: rabbitmq:3.11-rc-management-alpine
    hostname: rabbitmq2
    container_name: 'rabbitmq2'
    ports:
    - "5672:5672"
    - "15672:15672"
    - "5552:5552"
    - "15692:15692"
    volumes:
     - type: bind
       source: $PWD/advanced/rabbitmq2/advanced.config
       target: /etc/rabbitmq/advanced.config
     - type: bind
       source: $PWD/history/rabbitmq2/.bash_history
       target: /var/lib/rabbitmq/.bash_history
     - type: bind
       source: $PWD/cookie/rabbitmq2/.erlang.cookie
       target: /var/lib/rabbitmq/.erlang.cookie
    networks:
    - rabbitmq_net
    environment:
    - RABBITMQ_DEFAULT_USER=rabbit_admin
    - RABBITMQ_DEFAULT_PASS=.123-321.
    - RABBITMQ_CONFIG_FILES=/etc/rabbitmq/rabbitmq.conf
    - RABBITMQ_ADVANCED_CONFIG_FILE=/etc/rabbitmq/advanced.config
    - RABBITMQ_NODENAME=rabbit@rabbitmq2
  rabbitmq3:
    image: rabbitmq:3.11-rc-management-alpine
    hostname: rabbitmq3
    container_name: 'rabbitmq3'
    depends_on:
    - rabbitmq2
    links:
    - rabbitmq2
    ports:
    - "5673:5672"
    - "15673:15672"
    - "5553:5552"
    - "15693:15692"
    volumes:
     - type: bind
       source: $PWD/advanced/rabbitmq3/advanced.config
       target: /etc/rabbitmq/advanced.config
     - type: bind
       source: $PWD/history/rabbitmq3/.bash_history
       target: /var/lib/rabbitmq/.bash_history
     - type: bind
       source: $PWD/cookie/rabbitmq3/.erlang.cookie
       target: /var/lib/rabbitmq/.erlang.cookie
     - type: bind
       source: $PWD/conf/rabbitmq3/rabbitmq.conf
       target: /etc/rabbitmq/rabbitmq.conf
    networks:
    - rabbitmq_net
    environment:
    - RABBITMQ_DEFAULT_USER=rabbit_admin
    - RABBITMQ_DEFAULT_PASS=.123-321.
    - RABBITMQ_CONFIG_FILES=/etc/rabbitmq/rabbitmq.conf
    - RABBITMQ_ADVANCED_CONFIG_FILE=/etc/rabbitmq/advanced.config
    - RABBITMQ_NODENAME=rabbit@rabbitmq3
networks:
  rabbitmq_net:
    driver: bridge
1 Answers

You are using host folders, not docker volumes, for persistence.

This means that docker volume prune has no effect on your setup.

Each time you start the services they will map host folders to container folders. When you shutdown the containers the files will still exist on the host.

For a clean start you need to manually delete all the host folders that are mentioned in docker-compose.yml. No docker command will do that for you.

Related