TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
Docker Basics & Alfresco Content Services
1. Docker Basics & Alfresco Content Services
sujaypillaiOrder Of The Bee
2.
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
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
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/
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