SlideShare a Scribd company logo
Docker Basics & Alfresco Content Services
sujaypillaiOrder Of The Bee
Docker Basics & Alfresco Content Services
Learn. Connect. Collaborate.
Agenda
§ Best practices working with Docker
§ Docker Hands on Lab
§ Standard installer Vs Docker images deployment (docker-compose)
§ Demo – Alfresco deployment using docker-compose for local
development
Best Practices Working With
Docker
Learn. Connect. Collaborate.
1. Package A Single Application Per Container
Learn. Connect. Collaborate.
2. Handle Pid1, Signal Handling And Zombie Process
§ Docker sends Linux signals to your application inside the container to
stop it
§ PID 1 receives this signal
§ For your application to be stopped gracefully when needed, you need to
properly handle those signals
Learn. Connect. Collaborate.
3. Optimize For The Docker Build Cache
§ Image layers are cached which helps to accelerate later builds
FROM python:3.5
COPY my_code/ /src
RUN pip install my_requirements
FROM python:3.5
RUN pip install my_requirements
COPY my_code/ /src
Learn. Connect. Collaborate.
4. Remove Unecessary Tools
§ Remove everything that the application doesn’t need from your container
§ Include just your application in a distroless or scratch image
Learn. Connect. Collaborate.
5. Build The Smallest Image Possible
§ Benefits:
§ Decreases download times,
§ Reduces cold start times
§ Reduces disk usage
§ Strategies:
§ Start with a minimal base image
§ Leverage common layers between images
§ Make user of Docker’s multi-stage build feature
Learn. Connect. Collaborate.
Multi-stage build
Learn. Connect. Collaborate.
6. Properly Tag Your Images
§ Tags are how the users choose which version of your image they want to
use
§ 2 ways to tag images:
§ Semantic Versioning
§ Using Git commit hash of your application
§ Be careful while using “latest” tag
Learn. Connect. Collaborate.
7. Carefully consider whether to use a public image
§ Never ever use a public image in production environment
§ Malicious images reported on docker hub recently
§ Docker hub deleted account - docker123321
Reference Article:
https://kromtech.com/blog/security-center/cryptojacking-invades-cloud-how-modern-
containerization-trend-is-exploited-by-attackers
https://github.com/docker/hub-feedback/issues/1554
Learn. Connect. Collaborate.
8. Other considerations
§ Try not to use databases in containers
§ No root users
Learn. Connect. Collaborate.
Docker tips and tricks for Alfresco Administration
# Docker Postgres backup
docker run -i -e PGPASSWORD=[POSTGRESQL_PASSWORD] postgres /usr/bin/pg_dump 
-h [POSTGRESQL_HOST] 
-U [POSTGRESQL_USER] [POSTGRESQL_DATABASE] | gzip -9 > backup.sql.gz
# Docker Postgres Restore
gunzip < backup.sql.gz | docker exec -i [POSTGRESQL_CONTAINER] 
/bin/bash -c "export PGPASSWORD=[POSTGRESQL_PASSWORD] 
&& /usr/bin/psql -U [POSTGRESQL_USER] [POSTGRESQL_DATABASE]"
Docker Hands On Lab
Learn. Connect. Collaborate.
Instructions:
§ All the lab materials can be found at –
https://github.com/sujaypillai/alfrescodevcon2019
§ Get registered at DockerHub (if you don’t have a
docker hub account) –
https://hub.docker.com
§ Login using your above DockerHub account to
execute the lab materials at –
https://labs.play-with-docker.com/
Standard Installation
Vs
Docker Images deployment
Learn. Connect. Collaborate.
Alfresco Content Services (5.x) ships with three installers:
§ Alfresco Content Services Installer
§ Alfresco Content Services Platform Installer
§ Alfresco Share Installer
Learn. Connect. Collaborate.
Alfresco Content Services 6.0
§ Two main options for deploying Alfresco Content Services:
§ Using containerized deployment (preferred way going forward)
§ Using the distribution zip
§ Production deployment – Kubernetes
§ Test/Dev deployment – Docker compose
§ Use standard war files from distribution zip
Learn. Connect. Collaborate.
Alfresco Content Services Packaging
§ Github projects for Alfresco Content Services packaging:
§ Community - https://github.com/Alfresco/acs-community-packaging
§ Enterprise - https://github.com/Alfresco/acs-packaging
§ Github projects for Alfresco Content Services deployment:
§ Community - https://github.com/Alfresco/acs-community-deployment
§ Enterprise - https://github.com/Alfresco/acs-deployment
Learn. Connect. Collaborate.
Contents of the deployment (community)
1. Alfresco repository for community with
1.1. Alfresco Share Services AMP
1.2. Alfresco AOS AMP
1.3. Alfresco vti-bin war - helps with AOS integration
1.4. Alfresco Google Docs Repo AMP
2. Alfresco Share with
2.1 Alfresco Google Docks Share AMP
3. Postgres DB
4. Alfresco Search Services
5. Alfresco Transform Services*
6. Alfresco Digital Workspace*
*Only available in Enterprise
Demo
Thank You!!!

More Related Content

What's hot (20)

PPTX
Dockerizing Windows Server Applications by Ender Barillas and Taylor Brown
Docker, Inc.
 
PPTX
A Survey of Container Security in 2016: A Security Update on Container Platforms
Salman Baset
 
PDF
Docker serverless v1.0
Thomas Chacko
 
PPTX
TIAD 2016 : Migrating 100% of your production services to containers
The Incredible Automation Day
 
PDF
Developing and Deploying PHP with Docker
Patrick Mizer
 
PDF
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
謝 宗穎
 
PPTX
Docker 1.9 Feature Overview
Sreenivas Makam
 
PDF
Continuous Integration: SaaS vs Jenkins in Cloud
Ideato
 
PPTX
Docker orchestration
Open Source Consulting
 
PDF
Container Days Boston - Kubernetes in production
Mike Splain
 
PDF
On-Demand Image Resizing from Part of the monolith to Containerized Microserv...
Docker, Inc.
 
PDF
What’s New in Docker - Victor Vieux, Docker
Docker, Inc.
 
PDF
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
Docker, Inc.
 
PPTX
Deploying Symfony2 app with Ansible
Roman Rodomansky
 
PDF
Online Meetup: Why should container system / platform builders care about con...
Docker, Inc.
 
PDF
Helm intro
Haggai Philip Zagury
 
PPTX
Dockerize Me: Distributed PHP applications with Symfony, Docker, Consul and A...
Alexey Petrov
 
PDF
How to Improve Your Image Builds Using Advance Docker Build
Docker, Inc.
 
PDF
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
bridgetkromhout
 
PPTX
Comprehensive Monitoring for Docker
Christian Beedgen
 
Dockerizing Windows Server Applications by Ender Barillas and Taylor Brown
Docker, Inc.
 
A Survey of Container Security in 2016: A Security Update on Container Platforms
Salman Baset
 
Docker serverless v1.0
Thomas Chacko
 
TIAD 2016 : Migrating 100% of your production services to containers
The Incredible Automation Day
 
Developing and Deploying PHP with Docker
Patrick Mizer
 
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
謝 宗穎
 
Docker 1.9 Feature Overview
Sreenivas Makam
 
Continuous Integration: SaaS vs Jenkins in Cloud
Ideato
 
Docker orchestration
Open Source Consulting
 
Container Days Boston - Kubernetes in production
Mike Splain
 
On-Demand Image Resizing from Part of the monolith to Containerized Microserv...
Docker, Inc.
 
What’s New in Docker - Victor Vieux, Docker
Docker, Inc.
 
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
Docker, Inc.
 
Deploying Symfony2 app with Ansible
Roman Rodomansky
 
Online Meetup: Why should container system / platform builders care about con...
Docker, Inc.
 
Dockerize Me: Distributed PHP applications with Symfony, Docker, Consul and A...
Alexey Petrov
 
How to Improve Your Image Builds Using Advance Docker Build
Docker, Inc.
 
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
bridgetkromhout
 
Comprehensive Monitoring for Docker
Christian Beedgen
 

Similar to Docker Basics & Alfresco Content Services (20)

PDF
Preparing your dockerised application for production deployment
Dave Ward
 
PDF
Dockers & kubernetes detailed - Beginners to Geek
wiTTyMinds1
 
PDF
JDO 2019: Tips and Tricks from Docker Captain - Łukasz Lach
PROIDEA
 
PPTX
"Docker best practice", Станислав Коленкин (senior devops, DataArt)
DataArt
 
PDF
Before & After Docker Init
Angel Borroy López
 
ODP
Orchestrating docker containers at scale (#DockerKRK edition)
Maciej Lasyk
 
ODP
Orchestrating docker containers at scale (PJUG edition)
Maciej Lasyk
 
PDF
codemotion-docker-2014
Carlo Bonamico
 
PDF
Docker primer and tips
Samuel Chow
 
PDF
Docker, the Future of DevOps
andersjanmyr
 
PDF
Docker for developers
DrupalDay
 
PDF
Docker for developers
sparkfabrik
 
PDF
Alfresco TechQuest 2024 - Alfresco Container-based Installation and Configura...
Angel Borroy López
 
PDF
Docker for Ruby Developers
Aptible
 
PDF
Docker workshop 0507 Taichung
Paul Chao
 
PDF
手把手帶你學 Docker 入門篇
Philip Zheng
 
PDF
Be a better developer with Docker (revision 3)
Nicola Paolucci
 
PDF
The Docker Ecosystem
Dmitry Skaredov
 
PDF
手把手帶你學Docker 03042017
Paul Chao
 
PDF
時代在變 Docker 要會:台北 Docker 一日入門篇
Philip Zheng
 
Preparing your dockerised application for production deployment
Dave Ward
 
Dockers & kubernetes detailed - Beginners to Geek
wiTTyMinds1
 
JDO 2019: Tips and Tricks from Docker Captain - Łukasz Lach
PROIDEA
 
"Docker best practice", Станислав Коленкин (senior devops, DataArt)
DataArt
 
Before & After Docker Init
Angel Borroy López
 
Orchestrating docker containers at scale (#DockerKRK edition)
Maciej Lasyk
 
Orchestrating docker containers at scale (PJUG edition)
Maciej Lasyk
 
codemotion-docker-2014
Carlo Bonamico
 
Docker primer and tips
Samuel Chow
 
Docker, the Future of DevOps
andersjanmyr
 
Docker for developers
DrupalDay
 
Docker for developers
sparkfabrik
 
Alfresco TechQuest 2024 - Alfresco Container-based Installation and Configura...
Angel Borroy López
 
Docker for Ruby Developers
Aptible
 
Docker workshop 0507 Taichung
Paul Chao
 
手把手帶你學 Docker 入門篇
Philip Zheng
 
Be a better developer with Docker (revision 3)
Nicola Paolucci
 
The Docker Ecosystem
Dmitry Skaredov
 
手把手帶你學Docker 03042017
Paul Chao
 
時代在變 Docker 要會:台北 Docker 一日入門篇
Philip Zheng
 
Ad

Recently uploaded (20)

PPTX
Earn Agentblazer Status with Slack Community Patna.pptx
SanjeetMishra29
 
PDF
The Past, Present & Future of Kenya's Digital Transformation
Moses Kemibaro
 
PDF
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PDF
Novus Safe Lite- What is Novus Safe Lite.pdf
Novus Hi-Tech
 
PDF
Alpha Altcoin Setup : TIA - 19th July 2025
CIFDAQ
 
PDF
Upskill to Agentic Automation 2025 - Kickoff Meeting
DianaGray10
 
PDF
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
PPTX
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
PDF
Agentic Artificial Intelligence (AI) and its growing impact on business opera...
Alakmalak Technologies Pvt. Ltd.
 
PDF
Rethinking Security Operations - Modern SOC.pdf
Haris Chughtai
 
PPTX
Lecture 5 - Agentic AI and model context protocol.pptx
Dr. LAM Yat-fai (林日辉)
 
PDF
Integrating IIoT with SCADA in Oil & Gas A Technical Perspective.pdf
Rejig Digital
 
PDF
2025-07-15 EMEA Volledig Inzicht Dutch Webinar
ThousandEyes
 
PPTX
Top Managed Service Providers in Los Angeles
Captain IT
 
PPTX
Machine Learning Benefits Across Industries
SynapseIndia
 
PDF
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
PDF
CloudStack GPU Integration - Rohit Yadav
ShapeBlue
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PDF
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
Earn Agentblazer Status with Slack Community Patna.pptx
SanjeetMishra29
 
The Past, Present & Future of Kenya's Digital Transformation
Moses Kemibaro
 
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
Novus Safe Lite- What is Novus Safe Lite.pdf
Novus Hi-Tech
 
Alpha Altcoin Setup : TIA - 19th July 2025
CIFDAQ
 
Upskill to Agentic Automation 2025 - Kickoff Meeting
DianaGray10
 
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
Agentic Artificial Intelligence (AI) and its growing impact on business opera...
Alakmalak Technologies Pvt. Ltd.
 
Rethinking Security Operations - Modern SOC.pdf
Haris Chughtai
 
Lecture 5 - Agentic AI and model context protocol.pptx
Dr. LAM Yat-fai (林日辉)
 
Integrating IIoT with SCADA in Oil & Gas A Technical Perspective.pdf
Rejig Digital
 
2025-07-15 EMEA Volledig Inzicht Dutch Webinar
ThousandEyes
 
Top Managed Service Providers in Los Angeles
Captain IT
 
Machine Learning Benefits Across Industries
SynapseIndia
 
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
CloudStack GPU Integration - Rohit Yadav
ShapeBlue
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
Ad

Docker Basics & Alfresco Content Services

  • 1. Docker Basics & Alfresco Content Services sujaypillaiOrder Of The Bee
  • 3. Learn. Connect. Collaborate. Agenda § Best practices working with Docker § Docker Hands on Lab § Standard installer Vs Docker images deployment (docker-compose) § Demo – Alfresco deployment using docker-compose for local development
  • 5. Learn. Connect. Collaborate. 1. Package A Single Application Per Container
  • 6. Learn. Connect. Collaborate. 2. Handle Pid1, Signal Handling And Zombie Process § Docker sends Linux signals to your application inside the container to stop it § PID 1 receives this signal § For your application to be stopped gracefully when needed, you need to properly handle those signals
  • 7. Learn. Connect. Collaborate. 3. Optimize For The Docker Build Cache § Image layers are cached which helps to accelerate later builds FROM python:3.5 COPY my_code/ /src RUN pip install my_requirements FROM python:3.5 RUN pip install my_requirements COPY my_code/ /src
  • 8. Learn. Connect. Collaborate. 4. Remove Unecessary Tools § Remove everything that the application doesn’t need from your container § Include just your application in a distroless or scratch image
  • 9. Learn. Connect. Collaborate. 5. Build The Smallest Image Possible § Benefits: § Decreases download times, § Reduces cold start times § Reduces disk usage § Strategies: § Start with a minimal base image § Leverage common layers between images § Make user of Docker’s multi-stage build feature
  • 11. Learn. Connect. Collaborate. 6. Properly Tag Your Images § Tags are how the users choose which version of your image they want to use § 2 ways to tag images: § Semantic Versioning § Using Git commit hash of your application § Be careful while using “latest” tag
  • 12. Learn. Connect. Collaborate. 7. Carefully consider whether to use a public image § Never ever use a public image in production environment § Malicious images reported on docker hub recently § Docker hub deleted account - docker123321 Reference Article: https://kromtech.com/blog/security-center/cryptojacking-invades-cloud-how-modern- containerization-trend-is-exploited-by-attackers https://github.com/docker/hub-feedback/issues/1554
  • 13. Learn. Connect. Collaborate. 8. Other considerations § Try not to use databases in containers § No root users
  • 14. Learn. Connect. Collaborate. Docker tips and tricks for Alfresco Administration # Docker Postgres backup docker run -i -e PGPASSWORD=[POSTGRESQL_PASSWORD] postgres /usr/bin/pg_dump -h [POSTGRESQL_HOST] -U [POSTGRESQL_USER] [POSTGRESQL_DATABASE] | gzip -9 > backup.sql.gz # Docker Postgres Restore gunzip < backup.sql.gz | docker exec -i [POSTGRESQL_CONTAINER] /bin/bash -c "export PGPASSWORD=[POSTGRESQL_PASSWORD] && /usr/bin/psql -U [POSTGRESQL_USER] [POSTGRESQL_DATABASE]"
  • 16. Learn. Connect. Collaborate. Instructions: § All the lab materials can be found at – https://github.com/sujaypillai/alfrescodevcon2019 § Get registered at DockerHub (if you don’t have a docker hub account) – https://hub.docker.com § Login using your above DockerHub account to execute the lab materials at – https://labs.play-with-docker.com/
  • 18. Learn. Connect. Collaborate. Alfresco Content Services (5.x) ships with three installers: § Alfresco Content Services Installer § Alfresco Content Services Platform Installer § Alfresco Share Installer
  • 19. Learn. Connect. Collaborate. Alfresco Content Services 6.0 § Two main options for deploying Alfresco Content Services: § Using containerized deployment (preferred way going forward) § Using the distribution zip § Production deployment – Kubernetes § Test/Dev deployment – Docker compose § Use standard war files from distribution zip
  • 20. Learn. Connect. Collaborate. Alfresco Content Services Packaging § Github projects for Alfresco Content Services packaging: § Community - https://github.com/Alfresco/acs-community-packaging § Enterprise - https://github.com/Alfresco/acs-packaging § Github projects for Alfresco Content Services deployment: § Community - https://github.com/Alfresco/acs-community-deployment § Enterprise - https://github.com/Alfresco/acs-deployment
  • 21. Learn. Connect. Collaborate. Contents of the deployment (community) 1. Alfresco repository for community with 1.1. Alfresco Share Services AMP 1.2. Alfresco AOS AMP 1.3. Alfresco vti-bin war - helps with AOS integration 1.4. Alfresco Google Docs Repo AMP 2. Alfresco Share with 2.1 Alfresco Google Docks Share AMP 3. Postgres DB 4. Alfresco Search Services 5. Alfresco Transform Services* 6. Alfresco Digital Workspace* *Only available in Enterprise
  • 22. Demo