05-14-2021 03:43 AM
I've managed to start latest Alfresco on Docker on CentOS 7.
I have plenty of experience in Alfresco environment in old fashioned way, but zero in the new reality so be kind to me. 
So, this is dockered Alfresco, and I'd like to do some prototyping in developing some test web scripts.
How do I do it, for example in Eclipse dev environment?
TIA!
05-18-2021 03:54 AM
I did it finally!
Several things were wrong in my setup, so it may help some unfortunate soul:
1. Your DB URI/name is not "localhost" or "127.0.0.1", but how you name it in your docker-compose file. My DB:
   database:
        image: mysql:5.7
        mem_limit: 512m
...2. Wherever you reference DB, use that name, for example in alfresco service in docker-compose,yml file:
JAVA_OPTS ... -Ddb.url=\"jdbc:mysql://database:3306/alfresco?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=true\"
In YOUR OWN alfresco-global.properties file:
##
# MySQL
##
db.name=alfresco
db.username=alfresco
db.password=alfresco
db.driver=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://database/${db.name}?useUnicode=true&characterEncoding=UTF-8
db.master.url=jdbc:mysql://database/
db.master.username=${db.username}
db.master.password=${db.password}
db.drop.command=drop database if exists ${db.name}
db.create.command=create database ${db.name} CHARACTER SET utf8 COLLATE utf8_bin;2. Volumes for alfresco service (watch out for writing permissions if on Linux!):
        volumes:
           - ./volumes/data/alf_data:/usr/local/tomcat/alf_data
           - ./mysql-connector-java-8.0.25.jar:/usr/local/tomcat/lib/mysql-connector-java-8.0.25.jar
           - ./alfresco-global.properties:/usr/local/tomcat/shared/classes/alfresco-global.properties3. My complete database service (with volumes):
    database:
        image: mysql:5.7
        mem_limit: 512m
        environment:
            - MYSQL_ROOT_PASSWORD=root
            - MYSQL_DATABASE=alfresco
            - MYSQL_USER=alfresco
            - MYSQL_PASSWORD=alfresco
        command: --explicit_defaults_for_timestamp
        ports:
            - 3306:3306
        security_opt:
            - seccomp:unconfined
        cap_add:
            - SYS_NICE  # CAP_SYS_NICE
        volumes:
        - ./volumes/data/mysql_data:/var/lib/mysql
        - ./volumes/logs/mysql:/var/log/mysqlI'm happy, officially! 
05-17-2021 08:27 AM
Maybe I'm using "volumes" keyword in a wrong way? I'm trying to use it to inject files into containers. For example, in Alfresco container:
        volumes:
            - ./mysql-connector-java-8.0.25.jar:/usr/local/tomcat/lib/mysql-connector-java-8.0.25.jar
            - ./mysql-connector-java-8.0.25.jar:/usr/local/tomcat/webapps/alfresco/WEB-INF/lib/mysql-connector-java-8.0.25.jar
            - ./alfresco-global.properties:/usr/local/tomcat/shared/classes/alfresco-global.properties
					
				
			
			
				
			
			
			
			
			
			
			
		05-18-2021 03:54 AM
I did it finally!
Several things were wrong in my setup, so it may help some unfortunate soul:
1. Your DB URI/name is not "localhost" or "127.0.0.1", but how you name it in your docker-compose file. My DB:
   database:
        image: mysql:5.7
        mem_limit: 512m
...2. Wherever you reference DB, use that name, for example in alfresco service in docker-compose,yml file:
JAVA_OPTS ... -Ddb.url=\"jdbc:mysql://database:3306/alfresco?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=true\"
In YOUR OWN alfresco-global.properties file:
##
# MySQL
##
db.name=alfresco
db.username=alfresco
db.password=alfresco
db.driver=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://database/${db.name}?useUnicode=true&characterEncoding=UTF-8
db.master.url=jdbc:mysql://database/
db.master.username=${db.username}
db.master.password=${db.password}
db.drop.command=drop database if exists ${db.name}
db.create.command=create database ${db.name} CHARACTER SET utf8 COLLATE utf8_bin;2. Volumes for alfresco service (watch out for writing permissions if on Linux!):
        volumes:
           - ./volumes/data/alf_data:/usr/local/tomcat/alf_data
           - ./mysql-connector-java-8.0.25.jar:/usr/local/tomcat/lib/mysql-connector-java-8.0.25.jar
           - ./alfresco-global.properties:/usr/local/tomcat/shared/classes/alfresco-global.properties3. My complete database service (with volumes):
    database:
        image: mysql:5.7
        mem_limit: 512m
        environment:
            - MYSQL_ROOT_PASSWORD=root
            - MYSQL_DATABASE=alfresco
            - MYSQL_USER=alfresco
            - MYSQL_PASSWORD=alfresco
        command: --explicit_defaults_for_timestamp
        ports:
            - 3306:3306
        security_opt:
            - seccomp:unconfined
        cap_add:
            - SYS_NICE  # CAP_SYS_NICE
        volumes:
        - ./volumes/data/mysql_data:/var/lib/mysql
        - ./volumes/logs/mysql:/var/log/mysqlI'm happy, officially! 
05-18-2021 06:54 AM
Hi @joko71
Great news - so pleased you're happy! Also, thank you for taking the time to outline how you got it working - really invaluable & may help others in a similar situation. I'll mark your thread as answered - that will also help others.
Onwards & upwards with Alfresco!
 
					
				
				
			
		
Explore our Alfresco products with the links below. Use labels to filter content by product module.