Featured post

Docker setup for Liferay 7 with MySQL

Friday, 24 March 2017

Docker setup for Liferay 7 with MySQL

Docker is among the most famous DevOps tool these days which eliminates “works on my machine”  problem.

Prerequisite:

Docker, Yes, you do not need any developer setup other than Docker!

About: 

Use docker and distribute the same image to your team and start the development. No setup is required like configure liferay,sql, etc.

There are multiple ways to use docker, but easiest is to use yml and docker-compose.
I am using Manuel de la Peña's docker files to make it work.

Download repository from git - https://github.com/mdelapenya/docker-liferay-portal/tree/7-ce-ga3-tomcat-MySQL (If you are using windows, keep your folder in User directory)

Structure:

Folder structure with slight change  is -
Portal ext is placed inside configs and will be copied to your docker file system, you can make require changes in this file.

I have made few changes in docker-compose.yml to add sql port and mount deploy folder.
Do not use tab while changing yml files,use space instead.

version: '2'
services:
  portal:
    build: .
    ports:
     - "8080:8080"
     - "11311:11311"
    volumes:
    - "./data/deploy:/usr/local/liferay-ce-portal-7.0-ga3/deploy"
    depends_on:
     - mysql
  mysql:
    image: mdelapenya/mysql-utf8
    ports:
     - "3306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=my-secret-pw
      - MYSQL_DATABASE=lportal
      - character-set-server=utf8mb4
      - collation-server=utf8mb4_unicode_ci


To start the server all you need to do is use docker terminal or normal command window and move to corresponding directory and run command - "docker-compose up". 





This command will download images from docker hub and create a new image from your local Dockerfile and start your liferay server on 8080 port with MySQL on 3306.

Use docker-machine ip to fetch machine address and then you can hit your portal e.g. 192.168.99.100:8080

While doing docker-compose up if you see this error for memory





Then go to Virtual Box > Settings > System and increase memory and CPU accordingly.You can perform the same thing with config.json of your docker machine.










You need to set port forwarding in Oracle Virtual Box. It is shipped with Docker ToolBox as well.
Oracle Virtual Box > Settings > Network > Advance Port Forwarding.(If you do not want to access it from localhost then leave it)









Now we will go one by one to understand content of the file


  1. version : We are using version 2 of yml.
  2. services: Which services needs to be started. Right now there are two one is portal and other is MySQL.
  3. build: Inside portal we are using build [.] which indicates we are using current directory to build docker image from Dockerfile. In normal case we use image same as MySQL section.
  4. ports: What ports must be exposed to host environment, right now we are accessing portal from 8080, we can change it to 8090:8080 like this.
  5. volumes: We will use this section to deploy war or jar in docker. Just copy your file inside your local folder which you mounted to docker's deploy folder.
  6. depends_on: On which services your service rely, like MySQL.
  7. image: docker URL to fetch image.

To see your volume, port settings and environment, you can use docker inpsect [CONTAINER_ID].

Use "docker ps" to see running containers


Take initial string of container id and run "docker inpsect [CONTAINER_ID]"
e.g. docker inspect b32

Output of this command contains multiple sections - 


Environment Variables like LIFERAY_HOME or JAVA_HOME


Ports / Network Settings


Mounts - In our case we created a folder data/deploy which is mounted to volume liferay/deploy folder.





Some useful commands:

docker-compose up -d: To create image and start docker container in background
docker-compose down: To stop
docker-compose start: To start container from previously created images
docker-compose stop: To stop container and persist the state.
docker images: To list all available images
docker exec -it [CONTAINER_ID] bash: To access file system like putty
docker logs -f  [CONTAINER_ID]: To check logs

Note: You can use unique initial string for CONTAINER_ID e.g. If container id is "234sdfs234" you can use "234".



You are just done, Try & Enjoy the function.............:)

88 comments:

  1. Thanks for this blog. Provided great information. All the details are explained clearly with the great explanation.
    Devops Training in Bangalore
    CCNA Training in Bangalore

    ReplyDelete
    Replies
    1. Hi, Great.. Tutorial is just awesome..It is really helpful for a newbie like me.. I am a regular follower of your blog. Really very informative post you shared here. Kindly keep blogging. If anyone wants to become a Java developer learn from Java Training in Chennai. or learn thru Java Online Training in India . Nowadays Java has tons of job opportunities on various vertical industry.

      Delete
  2. Thanks for your marvelous posting! It is very useful and good. Come on. I want to introduce the best aso services for you, I try it and I feel it is so good to rank app to top in app store search results, have you ever heard it?

    ReplyDelete
  3. I read your Blog Your explanation is really good just check it once once Devops Online Training Hyderabad to Know more.

    ReplyDelete
  4. Appreciation for really being thoughtful and also for deciding on certain marvelous guides most people really want to be aware of. Best AWS Training in Bangalore

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete
  6. Very Good and Useful Information about docker-setup-for-liferay-with-mysql Thanks For Sharing Nice Article anyone want to learn advance devops tools training or devops Online training DevOps Online Training

    ReplyDelete
  7. Great Post! Thank you such a great amount for sharing. Keep in blogging. CA Firms
    Chartered Accountant
    Vendor Reconciliation

    ReplyDelete
  8. Thanks for one marvelous posting! I enjoyed reading it; you are a great author.Keep in blogging. Duplicate Payment Audit
    Duplicate Invoice Audit
    AP Vendor Helpdesk

    ReplyDelete
  9. thanks for providing useful information for us, i really liked it. Keep sharing!!
    DevOps Online Training

    ReplyDelete
  10. Useful Information, your blog is sharing unique information....
    Thanks for sharing!....

    java training in chennai

    ReplyDelete
  11. Really nice experience you have. Thank you for sharing. It will surely be an experience to someone.

    DevOps Online Training

    DevOps Training in Pune

    ReplyDelete
  12. This is an awesome post.Really very informative and creative contents.
    Wordpress Development company in Chennai

    ReplyDelete
  13. Hi, thank you very much for new information , i learned something new. Very well written. It was so good to read and usefull to improve knowledge. Keep posting. If you are looking for any python related information please visit our website
    python training in bangalore

    ReplyDelete
  14. Thanks for sharing useful information. I learned something new from your bog. Its very interesting and informative. keep updating. If you are looking for any Data science related information, please visit our website Data Science training in bangalore

    ReplyDelete
  15. Businesses that use IT investments to keep up their businesses have started to produce a turn towards cloud computing. Online Docker Training

    ReplyDelete
  16. Online online classes and programs is a rather new development. These article explains how a online private equity exercise program works and provide readers a look at the normal private equity program from sign-up towards exam. Online Docker Training

    ReplyDelete
  17. Attend The Machine Learning courses in Bangalore From ExcelR. Practical Machine Learning courses in Bangalore Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Machine Learning courses in Bangalore.
    Machine Learning courses in Bangalore

    ReplyDelete
  18. Attend The Artificial Intelligence course From ExcelR. Practical Artificial Intelligence course Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Artificial Intelligence course.
    Artificial Intelligence Course

    ReplyDelete
  19. Your blog have nice information, I got good idea from this amazing blog.
    I am always searching like this type blog post. I hope I will see again… devops training in chennai | devops training in anna nagar | devops training in omr | devops training in porur | devops training in tambaram | devops training in velachery

    ReplyDelete
  20. I personally think your article is fascinating, interesting and amazing. I share some of your same beliefs on this topic. I like your writing style and will revisit your site.
    Best Data Science training in Mumbai

    Data Science training in Mumbai

    ReplyDelete
  21. The development of artificial intelligence (AI) has propelled more programming architects, information scientists, and different experts to investigate the plausibility of a vocation in machine learning. Notwithstanding, a few newcomers will in general spotlight a lot on hypothesis and insufficient on commonsense application. machine learning projects for final year In case you will succeed, you have to begin building machine learning projects in the near future.

    Projects assist you with improving your applied ML skills rapidly while allowing you to investigate an intriguing point. Furthermore, you can include projects into your portfolio, making it simpler to get a vocation, discover cool profession openings, and Final Year Project Centers in Chennai even arrange a more significant compensation.


    Data analytics is the study of dissecting crude data so as to make decisions about that data. Data analytics advances and procedures are generally utilized in business ventures to empower associations to settle on progressively Python Training in Chennai educated business choices. In the present worldwide commercial center, it isn't sufficient to assemble data and do the math; you should realize how to apply that data to genuine situations such that will affect conduct. In the program you will initially gain proficiency with the specialized skills, including R and Python dialects most usually utilized in data analytics programming and usage; Python Training in Chennai at that point center around the commonsense application, in view of genuine business issues in a scope of industry segments, for example, wellbeing, promoting and account.

    ReplyDelete
  22. Thanks for sharing an informative blog keep rocking bring more details.I like the helpful info you provide in your articles. I’ll bookmark your weblog and check again here regularly. I am quite sure I will learn much new stuff right here! Good luck for the next! keep itup
    PHP Training in Chennai | Certification | Online Training Course | Machine Learning Training in Chennai | Certification | Online Training Course | iOT Training in Chennai | Certification | Online Training Course | Blockchain Training in Chennai | Certification | Online Training Course | Open Stack Training in Chennai |
    Certification | Online Training Course

    ReplyDelete
  23. The fame comes from the way that the databases are anything but difficult to make and access. Change Site URL Using MySQL

    ReplyDelete
  24. Excellent Blog! I would like to thank for the efforts you have made in writing this post. I am hoping the same best work from you in the future as well. I wanted to thank you for this websites! Thanks for sharing. Great websites!
    Artificial Intelligence Training in Chennai

    Ai Training in Chennai

    Artificial Intelligence training in Bangalore

    Ai Training in Bangalore

    Artificial Intelligence Training in Hyderabad | Certification | ai training in hyderabad

    Artificial Intelligence Online Training

    Ai Online Training

    Blue Prism Training in Chennai


    ReplyDelete
  25. Thanks for sharing an informative blog keep rocking bring more details.I like the helpful info you provide in your articles. I’ll bookmark your weblog and check again here regularly. I am quite sure I will learn much new stuff right here! Good luck for the next!
    Artificial Intelligence Training in Chennai

    Ai Training in Chennai

    Artificial Intelligence training in Bangalore

    Ai Training in Bangalore

    Artificial Intelligence Training in Hyderabad | Certification | ai training in hyderabad

    Artificial Intelligence Online Training

    Ai Online Training

    Blue Prism Training in Chennai


    ReplyDelete
  26. I have gone through your blog, it was very much useful for me and because of your blog, and also I gained much unknown information, the way you have clearly explained is really fantastic. Kindly post more like this, Thank You.

    selenium training in chennai

    selenium training in chennai

    selenium online training in chennai

    selenium training in bangalore

    selenium training in hyderabad

    selenium training in coimbatore

    selenium online training

    ReplyDelete
  27. Good Post! Thank you so much for sharing this pretty post, it was so good to read..keep posting.
    Data Science training institute in Hyderabad

    Data Science training in Hyderabad

    ReplyDelete
  28. Excellent Blog! I would like to thank for the efforts you have made in writing this post. I am hoping the same best work from you in the future as well.

    AWS training in Chennai

    AWS Online Training in Chennai

    AWS training in Bangalore

    AWS training in Hyderabad

    AWS training in Coimbatore

    AWS training

    ReplyDelete
  29. Nice blog. thanks for sharing valuable information. oracle training in chennai

    ReplyDelete

  30. Great post!I am actually getting ready to across this information,i am very happy to this commands.Also great blog here with all of the valuable information you have.Well done,its a great knowledge


    Azure Training in Chennai

    Azure Training in Bangalore

    Azure Training in Hyderabad

    Azure Training in Pune

    Azure Training | microsoft azure certification | Azure Online Training Course

    Azure Online Training


    ReplyDelete

  31. very nice blogs!!! i have to learning for lot of information for this sites...Sharing for wonderful information.Thanks for sharing this valuable information to our vision. You have posted a trust worthy blog keep sharing.


    Azure Training in Chennai

    Azure Training in Bangalore

    Azure Training in Hyderabad

    Azure Training in Pune

    Azure Training | microsoft azure certification | Azure Online Training Course

    Azure Online Training

    ReplyDelete
  32. Expected to form you an almost no word to thank you once more with respect to the decent recommendations you've contributed here.Good content. The explanation of content explained very neat.
    DevOps Training in Chennai

    DevOps Online Training in Chennai

    DevOps Training in Bangalore

    DevOps Training in Hyderabad

    DevOps Training in Coimbatore

    DevOps Training

    DevOps Online Training

    ReplyDelete
  33. I just recently discovered your blog and have now scrolled through the entire thing several times. I am very impressed and inspired by your skill and creativity, and your "style" is very much in line with mine. I hope you keep blogging and sharing your design idea
    data science training in chennai

    data science training in velachery

    android training in chennai

    android training in velachery

    devops training in chennai

    devops training in velachery

    artificial intelligence training in chennai

    artificial intelligence training in velachery

    ReplyDelete
  34. Thanks for Sharing This Article.It is very so much valuable content. I hope these Commenting lists will help to my website
    blockchain online training
    best blockchain online training
    top blockchain online training

    ReplyDelete
  35. I feel really happy to have seen your webpage.I am feeling grateful to read this.you gave a nice information for us.please updating more stuff content...keep up!!

    Android Training in Chennai

    Android Online Training in Chennai

    Android Training in Bangalore

    Android Training in Hyderabad

    Android Training in Coimbatore

    Android Training

    Android Online Training

    ReplyDelete
  36. I feel really happy to have seen your webpage.I am feeling grateful to read this.you gave a nice information for us.please updating more stuff content...keep up!!

    Android Training in Chennai

    Android Online Training in Chennai

    Android Training in Bangalore

    Android Training in Hyderabad

    Android Training in Coimbatore

    Android Training

    Android Online Training

    ReplyDelete
  37. Thanks for sharing an informative blog keep rocking bring more details.I like the helpful info you provide in your articles. I’ll bookmark your weblog and check again here regularly. I am quite sure I will learn much new stuff right here! Good luck for the next!

    IELTS Coaching in chennai

    German Classes in Chennai

    GRE Coaching Classes in Chennai

    TOEFL Coaching in Chennai

    spoken english classes in chennai | Communication training

    ReplyDelete
  38. Well Said, you have provided the right info that will be beneficial to somebody at all time. Thanks for sharing your valuable Ideas to our vision.

    IELTS Coaching in chennai

    German Classes in Chennai

    GRE Coaching Classes in Chennai

    TOEFL Coaching in Chennai

    spoken english classes in chennai | Communication training

    ReplyDelete
  39. Learn how Docker helps developers bring their ideas to life by conquering the complexity of app development.... Docker

    ReplyDelete
  40. Excellent effort to make this blog more wonderful and attractive thanks for sharing Data Science Course in Hyderabad 360DigiTMG

    ReplyDelete
  41. Am really impressed about this blog because this blog is very easy to learn and understand clearly.This blog is very useful for the college students and researchers to take a good notes in good manner,I gained many unknown information.


    Data Science Training In Chennai

    Data Science Online Training In Chennai

    Data Science Training In Bangalore

    Data Science Training In Hyderabad

    Data Science Training In Coimbatore

    Data Science Training

    Data Science Online Training

    ReplyDelete
  42. Top quality blog with very informative information found very useful thanks for sharing.
    Data Analytics Course Online 360DigiTMG

    ReplyDelete
  43. Fantastic blog with very informative information, found valuable thanks for sharing.
    Data Science Course in Hyderabad

    ReplyDelete
  44. Good Post! , it was so good to read and useful to improve my knowledge as an updated one, keep blogging.After seeing your article I want to say that also a well-written article with some very good information which is very useful for the readers....thanks for sharing it and do share more posts likethis. https://www.3ritechnologies.com/course/data-science-online-training/

    ReplyDelete
  45. I will very much appreciate the writer's choice for choosing this excellent article suitable for my topic. Here is a detailed description of the topic of the article that helped me the most.
    unindent does not match any outer indentation level

    ReplyDelete
  46. I'm glad I found this blog! Occasionally, students want to know the keys to writing productive literary essays. Your first-class knowledge of this great job can become a suitable foundation for these people. Good
    unindent does not match any outer indentation level python

    ReplyDelete
  47. Fantastic blog extremely good well enjoyed with the incredible informative content which surely activates the learners to gain the enough knowledge. Which in turn makes the readers to explore themselves and involve deeply in to the subject. Wish you to dispatch the similar content successively in future as well.

    Data Science training

    ReplyDelete
  48. Honestly speaking this blog is absolutely amazing in learning the subject that is building up the knowledge of every individual and enlarging to develop the skills which can be applied in to practical one. Finally, thanking the blogger to launch more further too.

    Digital Marketing Course

    ReplyDelete
  49. Fantastic blog extremely good well enjoyed with the incredible informative content which surely activates the learners to gain the enough knowledge. Which in turn makes the readers to explore themselves and involve deeply in to the subject. Wish you to dispatch the similar content successively in future as well.

    artificial intelligence course in raipur

    ReplyDelete