Prerequisites
A system with Docker or Docker Desktop installed
Precompiled .tar files for the Edge Manager version you prefer
Basic Installation
For this example, the assumptions are:
Docker files names:
edgemanager3451_32.tar
postgres_32.tar
Image names:
edgemanager_32:3.4.5.1,
postgres_tar:latest
If the user is in a Linux system then their username is part of the docker user group. If not a member of that group, sudo will be required.
docker load -i ./postgres_32.tar docker load -i ./edgemanager3451_32.tar docker network create autosol docker run -d --name database --network autosol --restart always -e POSTGRES_PASSWORD=postgres POSTGRES_DB="ASIServerDB" postgres_tar:latest docker run -d --name edgemanager --network autosol -p 8080:8080 --restart always edgemanager_32:3.4.5.1
Note that with only port 8080 exposed for the Edge Manager container, only the web interface will be accessible. OPC UA and Priority Forward cannot be used.
Finding the Image Names
To find the name of the images created by the docker load command, use:
docker image ls
Advanced Installation Details
Optional Ports
The edgemanager container can be created with additional ports open. When opening ports in Docker, the format is: exposedPort:containerPort. For example, to have the Edge Manager website open on port 8880 use the flag “-p 8880:8080”
OPC UA “-p 4840:4840”
Priority Forward can use any port, but the default range is “-p 40000-40010:40000-40010”
Mounted Volumes
If you want data to be preserved when a container is recreated, you will need a mounted volume.
To preserve configuration data, the database needs a mounted drive, the name db-vol is arbitrary:
docker volume create db-vol docker run -d --name database --network autosol --mount source=db-vol,target=/var/lib/postgresql/data --restart always -e POSTGRES_PASSWORD=postgres POSTGRES_DB="ASIServerDB" postgres_tar:
Warning: mounted volumes can preserve bad data as well as good; if a container is created with an error in database name or the wrong architecture .tar is restored, you will need to delete the volumes before a new container can succesfully be run!
Full Creation Example
docker load -i ./postgres_32.tar docker load -i ./edgemanager3451_32.tar docker network create autosol docker volume create db-vol docker run -d --name database --network autosol --mount source=db-vol,target=/var/lib/postgresql/data --restart always -e POSTGRES_PASSWORD=postgres postgres_tar: docker run -d --name edgemanager --network autosol -p 8080:8080 -p 4840:4840 -p 40000-40010:40000-40010 --restart always edgemanager_32:3.4.5.1