Hello @kcollins1 or @kcollins ,
I am using Ubuntu 20.04.1, and I have installed
kcollins/ignition:8.0.15 inside a Docker container. I am planning to upgrade it to version 8.1.31. Can you please assist me with the upgrade process?
I have noticed that we can perform this upgrade using a
docker-compose.yml file, but I couldn't find one on my system.
Hello @Chetan_Panchal, welcome to the forums!
If you're not using Docker Compose, you likely started the container with a direct
docker run statement. The particulars of how you launched this container matter with respect to how you can upgrade. Either way, the first step is to gather a Gateway Backup (GWBK) from your current instance in the event something doesn't go as planned. After you've got that safe and sound, you'd probably need to know more about how you launched it, with specific regard to whether or not you've setup a persisted data volume. Can you provide the output of
docker inspect your_container_name (make sure to redact any sensitive environment variables that you might have in the container definition in the output before posting here)?
Thanks @kcollins1 For your Reply.
The output of
docker inspect Ignition is in the text file attached below.
docker_Inspect_Command.txt (14.3 KB)
It looks like you've got some customized volume configurations; unfortunately, they're targeting some unsupported paths. You'll be unable to upgrade your
kcollins/ignition instance based on your volume targeting
/var/lib/ignition instead of
I'd recommend taking a gateway backup as mentioned above and starting over with a new container (and proper volume configurations per the documentation). Feel free to leave this one in place until you're sure that you've got the new one configured just how you like.
installation_error.txt (3.6 KB)
Thank you so much for the help. I tried to start a new container using this command:
docker run --name Ignitionv131 --network=host -p 8082:8082 -p 8043:8043 -p 8883:8883 -p 62541:62541 -p 4096:4096 -p 1883:1883 -p 8060:8060 -v ignition:/var/lib/ignitionv131/data -v ignition-bin:/usr/local/bin/ignitionv131 -v ignition-share:/usr/local/share/ignitionv131 -e GATEWAY_MODULES_ENABLED=opc-ua,udp-tcp-drivers,modbus-driver-v2,tag-historian -e GATEWAY_ADMIN_USERNAME=admin -e GATEWAY_ADMIN_PASSWORD=adminps -e IGNITION_EDITION=full -e GATEWAY_MAX_MEMORY=4096 kcollins/ignition:8.1.31
The 8082 port is the port I enabled to host Ignition, but I am facing the following error:
jvm 1 | 2023/09/19 20:30:14 | E [IgnitionServer ]: The port(s) 8088, 8060 are unavailable
Could you please let me know the best way to install the latest version or how to resolve this error? Below i attached .txt File is the full error message after I run the command.
There are some more fundamental issues with your docker run statement below. I'll put comments in to try and articulate the concerns.
docker run --name Ignitionv131 \
# If you're using `--network=host`, then you're instructing Docker to put this container
# on the host network namespace. This means that publishing ports (from a container that
# would normally have its own IP on the default bridge network) doesn't really make sense.
# See comment above, you'd not typically publish ports if you're using `--network=host`.
# That said, what is the intent of your `8082:8082` port publish? Host-network aside, this
# would publish port 8082 on your host (left side) into the container at port 8082 (right side).
# There isn't going to be anything listening on port 8082 in the container by default.
-p 8082:8082 -p 8043:8043 -p 8883:8883 -p 62541:62541 -p 4096:4096 -p 1883:1883 -p 8060:8060 \
# You're defining a named volume called "ignition" and mapping it to `/var/lib/ignitionv131/data`
# in the container. There is nothing at these `ignitionv131` folder[s] in the container.
-v ignition:/var/lib/ignitionv131/data \
-v ignition-bin:/usr/local/bin/ignitionv131 \
-v ignition-share:/usr/local/share/ignitionv131 \
# The rest of this is fine.
-e GATEWAY_MODULES_ENABLED=opc-ua,udp-tcp-drivers,modbus-driver-v2,tag-historian \
-e GATEWAY_ADMIN_USERNAME=admin -e GATEWAY_ADMIN_PASSWORD=adminps -e IGNITION_EDITION=full \
-e GATEWAY_MAX_MEMORY=4096 \
You might consider a couple things at this point:
- Watch our Inductive University Elective Studies course on Docker here. This will get you some of the base fundamentals for Docker and Docker Compose, including details on networking and volume configurations.
- Transition over to the official Inductive Automation Ignition image (docs on that here). You'll probably find more working examples of this image nowadays.