You must have Docker Engine installed. See https://docs.docker.com/get-docker/ for information on how to do that.
Start a command session to the Docker host and make sure you can run docker commands. If necessary sudo to root or other user.
...
The application, repository, and vsm folders are stored outside of the container, so when the container is upgraded that data is not lost. Hence we need to setup Database and various Folders firstThat folder must be created before attempting to mount it to the container.
Note |
---|
You will need to download the FlexDeploy Tomcat distribution for database scripts and plugins. Otherwise, use the automated installer, which will do everything for you. |
In this step, we will create plugin folder, then copy plugins from download zip in to necessary folder.
Code Block |
---|
# as root # adjust folder location as necessary for your Docker Host mkdir -p /scratch/DockerVolume/flexdeploy chmodmkdir -R 777p /scratch/DockerVolume cd/application/plugins #Set your permissions to limit everyone access. #Currently FlexDeploy on supports running the Docker container as root. chmod -R 700 /scratch/DockerVolume # mkdirCopy -pthe application/plugins cd plugins into the mount so that the container will have access to them. cd /scratch/DockerVolume/application/plugins cp <unzipped ~/Tomcat_Complete-6.0.0.0 Complete Zip>/application/plugins/*.jar . # Once they are there, the container will process them. # Please don't modify the files and folders that are created in the mount, otherwise the database will not match, and the plugins page will not work properly. # The goal of the mount is a permanent place to store things across FlexDeploy upgrades. |
Tip |
---|
If you need to use additional libraries or files you can place them under /scratch/DockerVolume/flexdeploy. You can then copy the necessary file from inside of the container to wherever they need to go. For example any additional libraries can go from /dockervolume to /usr/local/tomcat/libext. |
...
p
- in this example 8000 is the port which FlexDeploy will be accessed on mapping to port 8080 in the containerFLEX_DB_URL
- jdbc URL for accessing the database. See below for syntaxFD_ADMIN_PWD
- Password for the fdadmin user in the databaseTZ
- Time zone for the container. Given example is America/Chicago.dbtype
- if you are using postgres or oracle database.INFLUX_DB_USER
- Username for the built in influxdb. This can be any username of your choosing. Not used in version 6.5.0.2 and later.INFLUX_DB_PASSWORD
- Password for the built in influxdb. Username and password are only used upon first initialization. After that token is used to connect to the database. This can be any random secure word/text of your choosing Not used in version 6.5.0.2 and later.INFLUX_DB_TOKEN
- Token used to connect to the built in influxdb. This can be any random secure word/text of your choosing Not used in version 6.5.0.2 and later.TZ
- Time zone for the container. Given example is America/Chicago.dbtype
- if you are using postgres or oracle database.v
- This will set where your application, repository, vsm and logs folders will go on the docker host. Everything before the colon is on the local machine, after is inside the container. Leave that as /dockervolume. It was /home/oracle until 6.0.0.7, 6.5.0.2, 7.0.0.0 FlexDeploy Docker Images, and has been changed.Last is the image which will be flexdeploy/fd_tcat: and the version you want to run.
Note |
---|
If installing version 6.5.0.1 or earlier you need to include the INFLUX_* variables and use /home/oracle instead of /dockervolume for the mount. |
Code Block | ||
---|---|---|
| ||
docker run --name flexdeploy -p 8000:8080 -e FLEX_DB_URL="jdbc:oracle:thin:@URL:PORT:xe" -e FD_ADMIN_PWD=DATABASEPASSWORD -e TZ=America/Chicago -e dbtype=oracle|postgres -e INFLUX_DB_USER=flexdeploy -e INFLUX_DB_PASSWORD=INFLUXDBPASSWORD -e INFLUX_DB_TOKEN=INFLXUDBTOKENHERE -v /scratch/DockerVolume/flexdeploy:/dockervolume flexdeploy/fd_tcat:VERSION |
...