openmeetings / openmeetings-docker

Docker image for OM
Apache License 2.0
110 stars 56 forks source link

Permission issue #7

Closed dhanugithub closed 6 years ago

dhanugithub commented 6 years ago

Hello,

I built the docker image for OM. I want to use this docker image in Openshift environment. I have alredy pushed the image into openshift docker registry.

When I try to deplyo the application using the docker image I get following error and deployment fails:

bash: /root/work/om.sh: Permission denied I have changed the permission in the Dockerfile From RUN chmod a+x .sh To RUN chmod a+rwX .sh (line 51)

Can anyone please help on how to solve this? Thank you.

solomax commented 6 years ago

Unfortunately I have no idea on what openshift is :( Can this issue be reproducible using locally built docker image?

dhanugithub commented 6 years ago

Hello, I didn't do anything specific to openshift yet. As given in the instructions, I built the image and instead of importing it to mentioned docker registry, I imported it to openshift docker registry and then saved it as a image in openshift and tagged the image. This image will be used as a template image to use to create application. When I try to deploy the application then the error comes. Can you tell regardless of openshift, what can be the reason of this error in general? Thank you.

dhanugithub commented 6 years ago

Hello, I am still not understanding, if other two .sh scripts are accessible then why not the om.sh?? Is it because it is used as ENTRYPOINT?

Also, when I run pre-built image, the implementation stops at following message Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. DEBUG 08-06 08:16:49.915 o.a.o.s.q.s.ReminderJob:92 [Bean#0_Worker-7] - Rss disabled by Admin

Where am I supposed to set SSL option?? Any thoughts are welcome. Thank you.

solomax commented 6 years ago

I can't help you if I'm unable to reproduce your problem Docker container works for me as expected

Establishing SSL connection without server's identity .... Is MySQL warning, not error ....

dhanugithub commented 6 years ago

When I run the pre-built OM (docker run -i --rm --name om-server -p 5080:5080 -p 1935:1935 openmeetings-docker-images.bintray.io/server:latest), I get MySQL warning every 10 minutes and the build doesn't go forward. I have waited for it to complete for over an hour, but I keep getting DEBUG 08-06 08:16:49.915 o.a.o.s.q.s.ReminderJob:92 [Bean#0_Worker-7] - Rss disabled by Admin every 10 minutes. Do I need to configure anything else before running pre-build container image? Nevertheless, I will try it again.

solomax commented 6 years ago

These debug messages mean server up and running have you tried to access web interface?

dhanugithub commented 6 years ago

oh ok. Sorry for the confusion. The web interface should be accessible on normal web URL (http://localhost:5080/openmeetings) or is there a specific interface for this?

solomax commented 6 years ago

It depends on your port forwarding options: -p 5080:5080 -p 1935:1935 By default it will be http://localhost:5080/openmeetings

dhanugithub commented 6 years ago

I am unable to access OM using this URL. Although, the very first problem I had (https://github.com/openmeetings/openmeetings-docker/issues/7#issue-346213878) regarding root permission, is now resolved. I am able to run OM as a container in a pod. But, the application is not yet running. I am attaching the logs here. om-server-1(1).log

Can you please have a look. Thank you.

solomax commented 6 years ago

Works for me as expected 1) performed complete clean-up 2) run via docker run -i --rm --name om-server -p 5080:5080 -p 1935:1935 openmeetings-docker-images.bintray.io/server:latest

dhanugithub commented 6 years ago

In the logs I provided above, there are following main errors:

df: /var/lib/mysql/.: Permission denied

ERROR 08-09 08:52:08.603 o.a.o.c.r.KurentoHandler:67 [main] - Fail to create Kurento client

ERROR 08-09 08:52:15.414 o.a.o.w.a.Application:310 [main] - [appStart] org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is org.apache.openjpa.persistence.PersistenceException: Cannot create PoolableConnectionFactory (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)

ERROR 08-09 08:53:13.488 o.q.c.JobRunShell:216 [Bean#0_Worker-9] - Job DEFAULT.sendMails threw an unhandled Exception:

org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'sendMails' on target class [class org.apache.openmeetings.core.mail.MailHandler] failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is org.apache.openjpa.persistence.PersistenceException: Cannot create PoolableConnectionFactory (Could not create connection to database server. Attempted reconnect 3 times. Giving up.) at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:266) at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:75) at org.quartz.core.JobRunShell.run(JobRunShell.java:207) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:560) Caused by: org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is org.apache.openjpa.persistence.PersistenceException: Cannot create PoolableConnectionFactory (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)

solomax commented 6 years ago

You are definitely running NOT prebuild version of OM-docker You are building it yourself And using master!!! branch

master branch is unstable and should be using for development only please use pre-built image or build from 4.0.x branch

dhanugithub commented 6 years ago

Yes I am not using pre-built OM-docker. I did not know the master branch is unstable. Now I have forked and changed to branch 4.0.x. This docker image runs containers as root, which is not suitable for my environment that is why I changed some lines to run it as non-root.

solomax commented 6 years ago

Actually OM itself is run as user nobody :))

dhanugithub commented 6 years ago

Sorry to trouble you again, but can I run processes in om.sh and om_install.sh as for ex. 'ubuntu' user instead of 'nobody'?

solomax commented 6 years ago

I'm not sure why do you need to run om_install.sh as different user But sure you can you already have changed Dockerfile in your fork