Docker Installation

From Lingoport Wiki
Revision as of 20:50, 17 June 2022 by Olibouban (talk | contribs) (Run the container)
Jump to: navigation, search

Work in Progress

This installation is for a future release.

General Installation Page

https://docs.docker.com/engine/install/

Centos Docker Installation

See: https://docs.docker.com/engine/install/centos/

LocalyzerQA Docker Installation

Prereq

  • Make sure you have the logs and config locations setup, for example:
   centos > pwd
   /home/centos/localyzerqa
   centos > ls -l
   total 0
   drwxrwxr-x. 2 centos centos 6 Jun 16 21:32 config
   drwxrwxr-x. 2 centos centos 6 Jun 16 21:32 log
   drwxrwxr-x. 2 centos centos 6 Jun 16 21:32 logs
  • Make sure you have the configuration file for the application (from Lingoport)
   centos > ls -l localyzerqa/config/
   total 4
   -rw-rw-r--. 1 centos centos 1445 Jun 16 21:39 LocalyzerQAConfig.groovy

You need to set

   String dbuser = 'root'
   String dbpass = 'my-secret-pw'
   grails.serverURL = 'http://cet11.lingoport.io/localyzerqa'
   String dbname = "lreviewer"
   url="jdbc:mysql://mysqlserver:3306/" + dbname + "?autoReconnect=true&useUnicode=yes&permitMysqlScheme"


  • Check the local images
   docker ps

You may have previous LocalyzerQA images. You may want to remove them.

Create a network

for the communication between the Web app container and MySQL Container, a network is created. It will be used when deploying the LocalyzerQA container to talk to MySQL:

  docker network create mysqlnet
  docker network list

Run a mysql container

Use the network when running the LocalyzerQA container:

  docker run --network-alias mysqlserver --network mysqlnet  -e MYSQL_ROOT_PASSWORD=my-secret-pw -e MYSQL_DATABASE=lreviewer mysql:5.7
  • mysqlnet: The network set up in the step above
  • mysqlserver: Make sure it matches that in LocalyzerQAConfig.groovy
  • my-secret-pw: Make sure it matches that in LocalyzerQAConfig.groovy
  • lreviewer: The database used in MySQL for LocalyzerQA.

Run the LocalyzerQA Tomcat Application Container

  docker run -dp 8085:8080 --network mysqlnet -v "/home/centos/localyzerqa/log":/usr/local/tomcat/log -v "/home/centos/localyzerqa/logs":/usr/local/tomcat/logs -v "/home/centos/localyzerqa/config":/usr/local/tomcat/lingoport ljilingoport/localyzerqadev
   docker ps

Use mysql on disk

Open port 8085

Login to AWS EC2
Edit Security Group to add Dockerdev group

Allow access database remotely

  mysql -u root -p 
  grant all privileges on *.* to root@'%' identified by 'ROOT_PASSWORD';
  flush privileges;
  vi /etc/my.cnf

Add/Modify

  bind-address = 0.0.0.0
  sudo systemctl restart mysqld

Run the container

   docker run -dp 8085:8080 -v "/home/centos/localyzerqa/log":/usr/local/tomcat/log -v "/home/centos/localyzerqa/logs":/usr/local/tomcat/logs -v "/home/centos/localyzerqa/config":/usr/local/tomcat/lingoport ljilingoport/localyzerqadev
   docker ps