version: "2.1" services: ######################################################################################################### # The following section is for the transaction Docker image #image: The URL and tag to the transaction Docker image. #hostname: A name for the transaction server container. #LICENSE: Specify 'LICENSE=accept' to accept the terms and agreements and gain access to download # the necessary Docker images. #TZ: The time zone. #ports: Ports exported by transaction server. Port 5443 is SSL port. #adminPassword: The password for user configadmin, which is used to access the WebSphere Application Server Administrative Console # If you omit adminPassword, then the default password is a random string #depends_on: The app container depends on the db container. The db container must be running # for the app container to start. #MERCHANTKEY_ENCRYPT: The encrypted merchant key that you created when you loaded the database schema. # Merchant key is needed to decrypt the data read from the database. #SPIUSER_NAME: The spiuser name which you used to init database instance #SPIUSER_PWD: The spiuser password encrypted by using wcs_encrypt.sh. The value of plain text password be used to init database instance #DBHOST: The database hostname. IF you use the database as container. the hostname is the service name of your container defined in docker-compose #DBNAME: The instance name of database #DBPORT: The port of database #DBUSER: The dbuser of database ( this is not the database admin user) #DBPASS: The plain text of password of database #DBTYPE: db2/oracle #DBAPASSENCRYPT The encrypted string value of dba password #DBPASSENCRYPT The encrypted string value of db password ######################################################################################################### txn: image: /commerce/ts-app: hostname: live_txn environment: - LICENSE=accept - TZ=Asia/Shanghai - adminPassword=passw0rd - SPIUSER_NAME= - SPIUSER_PWD= - DBHOST= - DBNAME= - DBUSER= - DBPASS= - DBPORT= - DBTYPE=db2 - DBAUSER= - DBAPASSENCRYPT= - DBPASSENCRYPT= ports: - 5080:5080 - 5443:5443 - 9060:9060 - 9043:9043 volumes: - $PWD/ojdbc8.jar:/SETUP/driver/oracle/ojdbc8.jar networks: default: aliases: - app depends_on: repeater: condition: service_started ################################################################################################################################## # The following section is for the web Docker image #image: The URL and tag to the web server Docker image. #hostname: A name for the web server container. #LICENSE: Specify 'LICENSE=accept' to accept the terms and agreements and gain access to use the Docker images. #TZ: The time zone. #ports: Ports exported by web server. All ports are SSL ports. #depends_on: The web container depends on the txn container. The app container must be running for the web container to start. #IF use local store, please add below additional port mapping on 80 and 443 #ports: # - 80:80 # - 443:443 #IF want to do integration use old transaction service ( on V7 / V8 ), please add additional port mapping on 8006 and 8007 # - 8006:8006 # - 8007:8007 ################################################################################################################################## web: image: /commerce/ts-web: hostname: live_web environment: - LICENSE=accept - TZ=Asia/Shanghai ports: - 80:80 - 443:443 - 8000-8002:8000-8002 - 8004:8004 depends_on: - txn healthcheck: test: exit 0 ######################################################################################################### # The following section is for the search Docker image. #image: The URL and tag to the search Docker image. #hostname: A name for the search server container. #ports: Ports exported by search server. Port 3738 is SSL port. #environment: Specify the type of search node for this search container. # In the live environment, you need to set this container as the search repeater . # - SOLR_MASTER=true # - SOLR_SLAVE=true #In the live environment, you need to set this container as the search slave . # - SOLR_MASTER=false # - SOLR_SLAVE=true #LICENSE: Specify 'LICENSE=accept' to accept the terms and agreements and gain access to download # the necessary Docker images. #TZ: The time zone. #depends_on: The search container depends on the db container. The db container must be running # for the search container to start. #SPIUSER_NAME: The spiuser name which you used to init database instance #SPIUSER_PWD: The spiuser password encrypted by using wcs_encrypt.sh. The value of plain text password be used to init database instance #DBHOST: The database hostname. IF you use the database as container. the hostname is the service name of your container defined in docker-compose #DBNAME: The instance name of database #DBPORT: The port of database #DBUSER: The dbuser of database ( this is not the database admin user) #DBPASS: The plain text of password of database #DBTYPE: oracle #healthcheck: Checks the health of Search server. #BASE64_ENCRYPTED_SPIUSER_PASSWORD # 1. run the following command: echo -n "spiuser:" | base64 # 2. use the output value to replace ######################################################################################################### repeater: # build: # context: search image: /commerce/search-app: hostname: search_repeater environment: - SOLR_MASTER=true - SOLR_SLAVE=true - SOLR_MASTER_SERVER_URL=:3738 - WORKAREA=/search - LICENSE=accept - TZ=Asia/Shanghai - SPIUSER_NAME= - SPIUSER_PWD= - DBHOST= - DBNAME= - DBUSER= - DBPASS= - DBPORT= - DBTYPE=oracle - DBAPASSENCRYPT= - DBPASSENCRYPT= ports: - 3737:3737 - 3738:3738 volumes: - $PWD/ojdbc8.jar:/opt/WebSphere/Liberty/usr/shared/resources/ojdbc8.jar extra_hosts: # change the followig 9.123.157.30 into your master ip - "search:9.112.245.126" healthcheck: test: ["CMD", "curl", "-f", "-H", "Authorization: Basic c3BpdXNlcjpwYXNzdzByZA==", "http://localhost:3737/search/admin/resources/health/ping"] slave: # build: # context: search image: /commerce/search-app: hostname: search_slave entrypoint: bash -c "SEARCH=`ping -c 1 repeater | head -1 | awk -F \"(\" '{print $$2}' | awk -F \")\" '{print $$1}'` && echo $$SEARCH search >> /etc/hosts && /SETUP/bin/entrypoint.sh" environment: - SOLR_SLAVE=true - SOLR_MASTER_SERVER_URL=repeater:3738 - SOLR_REPLICATION_POLLINTERVAL=00:00:60 - WORKAREA=/search - LICENSE=accept - TZ=Asia/Shanghai - SPIUSER_NAME= - SPIUSER_PWD= - DBHOST= - DBNAME= - DBUSER= - DBPASS= - DBPORT= - DBTYPE=oracle - DBAPASSENCRYPT= - DBPASSENCRYPT= ports: - 3747:3737 - 3748:3738 volumes: - $PWD/ojdbc8.jar:/opt/WebSphere/Liberty/usr/shared/resources/ojdbc8.jar networks: default: aliases: - search depends_on: repeater: condition: service_healthy healthcheck: test: ["CMD", "curl", "-f", "-H", "Authorization: Basic c3BpdXNlcjpwYXNzdzByZA==", "http://localhost:3737/search/admin/resources/health/ping"] ######################################################################################################### # The following section is for the Store Docker image #image: The URL and tag to the store Docker image. #hostname: A name for the store server container. #ports: Ports exported by store server. Port 8443 is SSL port. #LICENSE: Specify 'LICENSE=accept' to accept the terms and agreements and gain access to # download the necessary Docker images. #SPIUSER_NAME: The spiuser name which you used to init database instance #SPIUSER_PWD: The spiuser password encrypted by using wcs_encrypt.sh. The value of plain text password be used to init database instance #TZ: The time zone. #depends_on: The store container depends on the txn container and search container. # The txn and search containers must be running for the store container to start. ######################################################################################################### store: # build: # context: store image: /commerce/crs-app: hostname: live_store environment: - LICENSE=accept - TZ=Asia/Shanghai ports: - 8080:8080 - 8443:8443 depends_on: - txn - slave healthcheck: test: curl -f http://localhost:8080/wcs/HealthCheck.jsp ################################################################################################################################# # The following section is for the utilities Docker image #image: The URL and tag to the utilities Docker image. #hostname: A name for the utilities container. #LICENSE: Specify 'LICENSE=accept' to accept the terms and agreements and gain access to use the Docker images. #DBHOST: The database host. #DBNAME: Database name. #DBPORT: Port exported by the database server. #DBUSER: The database user name. #DBADMIN: The database administrator user name. #DBTYPE: oracle #DBAPASSENCRYPT The encrypted string value of dba password #DBPASSENCRYPT The encrypted string value of db password #ENABLE_DB_SSL: If database enabled SSL, you change default value to true #tty: Connects a pseudo terminal to access the utilities inside the container. ################################################################################################################################# utils: image: /commerce/ts-utils: hostname: live_utils environment: - LICENSE=accept - DBADMIN=system - SPIUSER_NAME= - SPIUSER_PWD= - DBHOST= - DBNAME= - DBUSER= - DBPASS= - DBPORT= - DBTYPE=oracle - DBAUSER= - DBAPASSENCRYPT= - DBPASSENCRYPT= tty: true networks: default: aliases: - utils volumes: - $PWD/ojdbc8.jar:/SETUP/driver/oracle/ojdbc8.jar - $PWD/ojdbc8.jar:/opt/WebSphere/CommerceServer90/lib/ojdbc8.jar healthcheck: test: exit 0