Docker Swarm, Compose and PostgreSQL

I’m attempting to run a containerized application that relies on a postgres database. I am using Swarm and docker-compose to manage it.

I manually create a volume against a host that is part of the Swarm cluster ( docker volume create --name=my_data ) and use this volume in my compose file. I say in the compose file that the volume is external.

  • How to increase the swap space available in the boot2docker virtual machine?
  • Local WordPress env with Docker Compose - cURL error 7: Failed to connect to localhost port 8080: Connection refused
  • Docker login auth token
  • docker swarm compose constraints
  • eval “$(docker-machine env default)”
  • Dockerfile CMD shell versus exec form
  • I find that when the container starts the data volume and the postgres application are not necessarily co-located. If they are not co-located, docker seems to create me a new volume.

    A little further reading has lead me to believe that I should be looking at volume plugins such as Flocker. If I want to achieve persistent data for swarm applications using a database, is it best practice to use a volume plugin like this?

    My compose file …

    version: '2'
    services:
       ui:
          image : ui
          ports:
           - 8080:8080
          environment:
           ADDRESS_SERVICE_URI: http://camel:8091
       camel:
          image : camel
          ports:
           - 18081:8081
           - 18091:8091
          expose:
           - 8081
           - 8091
       postgresql:
          image: postgres:9.4.5
          volumes:
           - app1_address_data:/var/lib/postgresql/data
    
    volumes:
       app1_address_data:
          external: true
    
    networks:
       default:
         external:
           name: my-net
    

  • AWS Elastic Beanstalk Docker PHP application
  • How run Docker's container with IIS in Ubuntu 16.04 LTS [closed]
  • Docker start privileged?
  • add-migration : Cannot bind argument to parameter 'Path' because it is an empty string
  • Docker Swarm vs. Docker Cluster
  • Docker bridge change docker0 and internal ip
  • Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.