Ignition 8.1.1 upgrading a docker container

Hi,

Upgrading the container is not working for me.

I just did a quick test upgrading an ignition application in docker.

I did not try to pull a new image and upgrade, but i tried the following:

  1. Create new new ignition container. (to have something to play with)
  2. Restore backup ( to have something to “upgrade”)
  3. Stop/Delete container
  4. docker-compose up
  • What i found was that some settings were still there. Like OPC-UA device settings.
  • But gateway settings were gone… (password, standard visualization module)

Maybe my compose file is messing with something:

version: '3.5'
services:
  ignition:
    image: kcollins/ignition:latest
    ports:
      - "8090:8088"
      - "8060:8060"
    stop_grace_period: 30s
    restart: always
    volumes:
      - data:/var/lib/ignition/data
      #- ignition.conf:/var/lib/ignition/data/ignition.conf
      #- /modules:/modules
    logging:
      driver: "json-file"
      options:
        max-size: "200k"
        max-file: "10"
    environment:
      TZ: "Europe/Oslo"
      IGNITION_EDITION: "EDGE"
      GATEWAY_MODULES_ENABLED: perspective,opc-ua,tag-historian,modbus-driver-v2
      GATEWAY_SYSTEM_NAME: XXXXXXX_${index}
      GATEWAY_ADMIN_PASSWORD: ${PASSWORD}
      GATEWAY_INIT_MEMORY: "1024"
      GATEWAY_MAX_MEMORY: "2048"
      #IGNITION_LICENSE_KEY: "XXXX-XXXX"
      IGNITION_COMMISSIONING_DELAY: "15"
      IGNITION_STARTUP_DELAY: "300"
    networks:
      - Network1
networks:
  Network1:
    external:
      name: XXXXXX
volumes:
  #ignition.conf:
  data:

Normally I just do a fresh ‘docker-compose up’ then a normal gateway restore. But I would like that our service guys can just run a script and its all done…

First, note that docker-compose up will, by default, only pull an image if it isn’t already present on the system. This can be a bit confusing when using something like a latest tag. If you first brought that Compose stack up 6 months ago, for example, the kcollins/ignition:latest image that you have on your Docker host will be out-of-date. However, Docker Compose will still happily use it. Instead, you’ll have to explicitly docker-compose pull && docker-compose up -d to force pulling the latest image.

That said, I recommend pinning to a more specific version, e.g. kcollins/ignition:8.1.1. If you do that, then all you’ve got to do is adjust your compose yaml and re-up.

Finally, if you’ve got your persisted volume (like you show in your docker-compose.yaml), updating the image tag should be all that you have to do in order to upgrade (still advisable to ensure that you have a gateway backup beforehand).

1 Like

Oh, and I forgot to mention that it looks like @Kevin.Collins hasn’t pushed an 8.1.2 image just yet, though it seems to be staged and ready to go. :wink:

2 Likes

Hmmm. Some kcollins1 newbie throwing shade on the highly esteemed Kevin.Collins… :thinking:

5 Likes

Thanks for replying!

I see that I did not make myself clear enough. I already new that the image was the same when “upgrading”. I just assumed that the content of my application would still be there even though I did not pull a new image… But I guess there is some code that validates the new container only if the image version is upgraded? (delete container and run container will not work?)

I just supspected that the password in my yml file might overwrite the existing password. And it did…

I will try this with an actual upgrade as soon as 8.1.2 is ready

Great job with the docker image by the way! I hope to be mass producing edge nodes soon :slight_smile: