Upgrade to docker with persistent storage

Hi. I’m currently looking to upgrade a Windows LAMP based installation of 1.7.4 to 1.8.10 running on Docker.

We are a vMware environment so I have already set up and configured some docker nodes using docker-machine with the vSphere driver and configured our vSphere environment to use vSphere storage for Docker so that I can mount the CMS library and DB volumes as persistent storage. I’m running the docker-compose commands from my Windows desktop and have the xibo installation folder set up with the shared subfolder containing my library backup and database export.

The problem is, after updating the docker-compose to use the vsphere driver for the volumes, the compose doesn’t seem to copy or use the docker upgrade files I put in the same folder as the compose config. Xibo launches into Docker fine and I can access it in the web but it is a generic brand new installation, not my upgrade.

I don’t see anything in the upgrade docs about using persistent storage while upgrading. Any help would be appreciated. docker-compose file is

version: "2.1"

services:
    cms-db:
        image: mysql:5.6
        volumes:
            - db_data:/var/lib/mysql
        restart: always
        environment:
            - MYSQL_DATABASE=cms
            - MYSQL_USER=cms
            - MYSQL_RANDOM_ROOT_PASSWORD=yes
        mem_limit: 1g
        env_file: config.env
    cms-xmr:
        image: xibosignage/xibo-xmr:release-0.7
        ports:
            - "9505:9505"
        restart: always
        mem_limit: 256m
        env_file: config.env
    cms-web:
        image: xibosignage/xibo-cms:release-1.8.10
        volumes:
            - cms_custom:/var/www/cms/custom
            - backup:/var/www/backup
            - cms_web_theme_custom:/var/www/cms/web/theme/custom
            - cms_library:/var/www/cms/library
            - cms_web_userscripts:/var/www/cms/web/userscripts
        restart: always
        links:
            - cms-db:mysql
            - cms-xmr:50001
        environment:
            - XMR_HOST=cms-xmr
        env_file: config.env
        ports:
            - "8080:80"
        mem_limit: 1g
volumes:
    db_data:
        driver: vsphere
        driver_opts:
            size: 1Gb
    cms_custom:
        driver: vsphere
        driver_opts:
            size: 100Mb
    backup:
        driver: vsphere
        driver_opts:
            size: 1Gb   
    cms_web_theme_custom:
        driver: vsphere
        driver_opts:
            size: 100Mb
    cms_library:
        driver: vsphere
        driver_opts:
            size: 10Gb
    cms_web_userscripts:
        driver: vsphere
        driver_opts:
            size: 100Mb

For those looking to do this, I believe I found the answer. At least, from my perspective, it doesn’t appear that Docker will copy files from my Windows PC where I run docker-compose into the docker engine running remotely. So instead, what I did was pre-create the volumes and pre-populate them with the data Xibo needs

First, I ran docker-compose with only the volumes section above to be sure the volumes were created with the right names. I’m sure there is a better way to do this but it worked. Then:

I copied the import.sql into the named backup volume and my library into the cms_library volume
Then I did a docker-compose up on the full file above and I can now observe the logs importing and upgrading the database.