You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Introduction

The JS7 - Controller Installation for Docker Containers article explains start-up of a JOC Cockpit container using the Docker® Run command.

The following examples apply for users who wish to start containers using the docker-compose utility. Consider that examples have to be adjusted to individual environments.

Examples using Docker Compose with MySQL

Examples are contributed by the Japanese JS7 Community. Find the complete instructions from the Start with JS7 JobScheduler docker-compose (MySQL version) article.

Docker Compose Configuration: docker-compose.yaml

Download: docker-compose.yaml

Example for use of Docker Compose with MySQL
version: '3'

services:

  db:
    image: mysql:8.0
    command: --default-authentication-plugin=mysql_native_password
    volumes: 
      - db_data:/var/lib/mysql
    ports:
      - "3306:3306"
    networks:
      - js7
    environment:
      MYSQL_ROOT_PASSWORD: js7rootpassword
      MYSQL_DATABASE: js7db
      MYSQL_USER: js7user
      MYSQL_PASSWORD: js7password
    restart: "no"

  js7-joc-primary:
    depends_on:
      - db
    container_name: js7-joc-primary
    image: sosberlin/js7:joc-${JS7VERSION}
    hostname: js7-joc-primary
    ports:
      - "17446:4446"
    networks:
      - js7
    volumes:
      - js7-joc-primary-config:/var/sos-berlin.com/js7/joc/resources/joc
      - js7-joc-primary-logs:/var/sos-berlin.com/js7/joc/logs
    environment:
      RUN_JS_JAVA_OPTIONS: -Xmx256m
      RUN_JS_USER_ID: "${JS7USERID}:${JS7GROUPID}"
    restart: "no"

networks:
  js7:
    external: true

volumes:

  db_data:
    driver: local
    driver_opts:
      type: none
      device: ${PWD}/db_data
      o: bind

  js7-joc-primary-config:
    driver: local
    driver_opts:
      type: none
      device: ${PWD}/js7-joc-primary-config
      o: bind

  js7-joc-primary-logs:
    driver: local
    driver_opts:
      type: none
      device: ${PWD}/js7-joc-primary-logs
      o: bind

Hibernate Configuration: hibernate.cfg.xml

Download: hibernate.cfg.xml

Example of hibernate.cfg.xml for MySQL
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<hibernate-configuration>
 <session-factory>
  <property name="hibernate.connection.driver_class">org.mariadb.jdbc.Driver</property>
  <property name="hibernate.connection.password">js7password</property>
  <property name="hibernate.connection.url">jdbc:mariadb://db:3306/js7db</property>
  <property name="hibernate.connection.username">js7user</property>
  <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
  <property name="hibernate.show_sql">false</property>
  <property name="hibernate.connection.autocommit">false</property>
  <property name="hibernate.format_sql">true</property>
  <property name="hibernate.temp.use_jdbc_metadata_defaults">false</property>
  <property name="hibernate.connection.provider_class">org.hibernate.hikaricp.internal.HikariCPConnectionProvider</property>
  <property name="hibernate.hikari.maximumPoolSize">10</property>
 </session-factory>
</hibernate-configuration>

Environment Variables used with the Examples

Environment Variables used with the Examples
echo -e "JS7USERID=$(id -u)\nJS7GROUPID=$(id -g)\nJS7VERSION=2-3-2" > .env

# 
confirm what to find from the file
cat .env
JS7USERID=1000
JS7GROUPID=1000
JS7VERSION=2-3-2

Directories used with the Examples

Directories used with the Examples
mkdir db_data
mkdir js7-agent-primary
mkdir js7-controller-primary
mkdir js7-joc-primary-config
mkdir js7-joc-primary-logs

Directory Hierarchy

Directories used with the Examples
. 
├── .env 
├── db_data
├── docker-compose.yml
├── hibernate.cfg.xml
├── js7-agent-primary
├── js7-controller-primary
├── js7-joc-primary-config
└── js7-joc-primary-logs



  • No labels