SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
PostgreSQL and
Linux Containers
Jignesh Shah
Founding Team @appOrbit
SF Bay Area PostgreSQL User Group – Jan 5th 2015
Disclaimer
The views expressed in this presentation are my own and do
not necessarily reflect the views of appOrbit.
About Jignesh (@jkshah)
• appOrbit
• My focus is on managing Application Data running in Containers
• VMware
• Lead and manage Postgres and Data Management teams at VMware for various products
embedding PostgreSQL running in virtualized embedded instances
• Sun Microsystems
• Team Member of first published SpecJAppServer 2004 benchmark with PostgreSQL
• Performance of PostgreSQL on Solaris/Sun Servers
• Working with PostgreSQL community since 2005
• http://jkshah.blogspot.com/2005/04/profiling-postgresql-using-dtrace-on_22.html
• Working with Container technologies (Solaris Zones) since 2004
• http://jkshah.blogspot.com/2004/08/db2-working-under-solaris-10-zones_30.html
Agenda
• Containers
• Definition
• Early examples
• Linux Containers
• Underlying Technologies
• LXC
• Systemd-nspawn
• Docker Containers
• Installation
• Images
• Volumes
• PostgreSQL in Docker Container
• What it means
• Best practices
What are Containers?
• OS Level virtualization where kernel allows for multiple isolated user-space
instances
Operating System
Bare Metal Server
OS
Bare Metal Server
Hypervisor
OS
Operating System
Bare Metal Server
C C C C C OS
Bare Metal Server
Hypervisor
OS
C C C C
Advantages of Containers
• Lower footprint
• Very Quick Startup and Shutdown time
• Density
• Nesting
Disadvantages of Containers
• Same Kernel version
• Cannot run other OS natively
• Security (to be improved)
Where to use container?
• Recreate identical environment (cookie-cutter)
• Resource Grouping of specific processes in heavily loaded server
• Handling multiple versions of software applications
• Ephemeral application instances (Dev/Test)
• Many more
Implementations of Containers
• Chroot circa 1982
• FreeBSD Jails circa 2000
• Solaris Zones circa 2004
• Meiosys – MetaClusters with Checkpoint/Restore 2004-05
• Linux OpenVZ circa 2005 (not in mainstream Linux)
• AIX WPARs circa 2007
• LXC circa 2008
• Systemd-nspawn circa 2010-2013
• Docker circa 2013
What makes containers possible?
• Process Group Isolation
• Filesystem Isolation
• Network Isolation
• CPU Isolation
• Memory Isolation
• Example – Solaris Containers
• Base implementation provided Process, Filesystem and Network
Isolation
• Resource pools consisting of CPU, memory was originally used
• Branded Zones – Userland Library Isolation
What makes Linux containers possible ?
• cgroups
• Allows limitation and prioritization of resources (CPU, memory, block
I/O, network, etc.)
• Namespace isolation
• Mount namespace
• PID namespace
• Network namespace
• UTS (Allows changing hostname, domainname)
• IPC Namespace
• User namespace
• LXC
• Combines kernel’s cgroup and namespaces to provide an isolated
environment
LXC
• CentOS 7 + EPEL Repository set
• Commands available
• Quick Guide to use an LXC based container of busybox
lxc-attach lxc-clone lxc-destroy lxc-ls lxc-stop lxc-usernsexec
lxc-autostart lxc-config lxc-execute lxc-monitor lxc-top lxc-wait
lxc-cgroup lxc-console lxc-freeze lxc-snapshot lxc-unfreeze
lxc-checkconfig lxc-create lxc-info lxc-start lxc-unshare
wget https://www.busybox.net/downloads/binaries/busybox-x86_64 -O busybox
chmod a+x busybox
PATH=$(pwd):$PATH lxc-create -t busybox -n mycontainer
lxc-start -d -n mycontainer
lxc-console –n mycontainer # (Use CTRL-A Q to exit console mode)
lxc-stop -n mycontainer
lxc-destroy -n mycontainer
yum install epel-release
yum install bridge-utils libvirt lxc lxc-templates
Systemd-nspawn
• Systemd
• Replacement of SysV init scripts
• Systemd-nspawn
• Used to run a command or OS in light weight namespace container
• Installed on most newer distros by default
• Commands available
systemd-analyze systemd-delta systemd-nspawn
systemd-ask-password systemd-detect-virt systemd-run
systemd-cat systemd-cgls systemd-loginctl
systemd-sysv-convert systemd-cgtop systemd-machine-id-setup
systemd-coredumpctl systemd-notify systemd-tty-ask-password-agent
systemd-inhibit systemd-stdio-bridge systemd-tmpfiles
systemctl machinectl hostnamectl journalctl
yum install systemd
Systemd-nspawn
• Quick guide to a container deployment using systemd-nspawn
• Useful tools
machinectl status mycontainer
systemd-cgls
systemd-cgtop
# Create an Image
yum -y --releasever=7 --nogpg --installroot=/mycontainers/centos7 install 
systemd passwd yum fedora-release vim-minimal
# Change the root password in the image
systemd-nspawn -D /mycontainers/centos7
passwd
exit
# Start the container as if booting into the container image
systemd-nspawn -D /mycontainers/centos7 –M mycontainer –b
# Get into the container
nsenter -m -u -i -n -p –t $PID
machinectl login mycontainer
Trends of Container Technologies
Disruption of trends by Docker
Docker
• Installation
• Commands available with docker binary
• Quick Guide to use a docker based container
attach build commit cp create diff events
exec export history images import info inspect
kill load login logout logs pause port
ps pull push rename restart rm rmi
run save search start stats stop tag
top unpause version wait
docker run --name mycontainer -e POSTGRES_PASSWORD=mysecretpassword -d postgres
docker exec -ti mycontainer psql -U postgres
docker stop mycontainer
docker rm mycontainer
docker rmi postgres
yum install docker
systemctl start docker
Dockerfile – Custom Recipe
• Container images are created using “Dockerfile”
• Build an image using the recipe file
• Push to a public or private registry (hub account login or private registry needed)
FROM centos:centos7.0.1406
RUN yum install -y epel-release
RUN yum install -y nginx
EXPOSE 80
CMD ["bash", "-l", "-c", "/usr/sbin/nginx -g "daemon off;""]
docker build –t jkshah/nginx –t .
docker push jkshah/nginx:latest
Docker Images
• Docker Images are layered templates used by containers instances
• Container instance images are layered Copy on Write Images based on Docker
images
• You can mutate your local container images (unless you use --read-only flag)
• Not good for fast and frequent changing data
• Can select a different underlying type using --storage-driver
docker push jkshah/nginx:latest
Do you really want to push to public registry? [y/n]: y
The push refers to a repository [docker.io/jkshah/nginx] (len: 1)
d498b5680966: Pushed
4b1d16518ce1: Pushed
3185bef36db4: Pushed
2f7013eef4b8: Pushed
539eca37bade: Pushed
f1b10cd84249: Pushed
latest: digest:
sha256:46208d1f0393946b33c2bdce498168de507b7186a897f332bab0cffc1ea601c7 size:
10608
Docker Volumes
• Persists beyond the life of a Docker container
• VOLUME command in Dockerfile or
• Using –v using docker run command
• Automatically created if not already present during docker run
• Not part of docker push/pull operations
• Can select a non-local directory using --volume-driver
• Third party components required to get multi-host support (NFS, etc )
• On CentOS with SELinux enabled need to set security context
• Different options using –v
• -v /hostsrc/data:/opt/data:ro # for read only volumes (default rw)
• -v /hostsrc/data:/opt/data:Z # Z – private volume, z – shared volume
• -v /etc/nginx.conf:/etc/nginx.conf # for mounting a single file only
• Volumes can be shared from another container using --volumes-from on same host
• Docker 1.9 gives first class status to Docker Volumes
chcon -Rt svirt_sandbox_file_t /hostpath/pgdata
PostgreSQL in Docker container
• Quick Deployment:
• Check Deployment:
• Use inspect command to get more information about the container
• To check PostgreSQL system logs
docker run --name mycontainer -v /hostpath/pgdata:/var/lib/postgresql/data -e
POSTGRES_PASSWORD=mysecretpassword -d postgres
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8d720b31c1fe postgres "/docker-entrypoint.s" 5 minutes ago Up 5 minutes 5432/tcp mycontainer
docker logs mycontainer
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
…
LOG: database system was shut down at 2016-01-04 22:58:40 UTC
LOG: MultiXact member wraparound protections are now enabled
LOG: database system is ready to accept connections
LOG: autovacuum launcher started
docker inspect mycontainer
PostgreSQL in docker container
• Part of Postgres Dockerfile has
• Impacts
• Port is exposed only to other containers directly linking with this container
• Data is persistent only for the life of container (docker rm) but not easily accessible outside the container
• -v enables to access the data outside container
• Linking to PostgreSQL Server container
• Ports are exposed externally using –p option
• Verify using
docker run --name myapp 
--link mycontainer:ds2db 
-e POSTGRES_USER=postgres 
-e POSTGRES_PASSWORD=mysecretpassword 
-p 8080:80 
-d jkshah/dvdstore2
EXPOSE 5432
VOLUME /var/lib/postgresql/data
docker port myapp
80/tcp -> 0.0.0.0:8080
PostgreSQL in docker container
• Check for statistics using
• Check for top processes in a container
docker stats mycontainer myapp
CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O
myapp 0.01% 51.51 MB/1.924 GB 2.68% 54.42 kB/7.576 MB
mycontainer 0.01% 133.3 MB/1.924 GB 6.93% 7.577 MB/54.42 kB
docker top mycontainer
UID PID PPID C STIME TTY TIME CMD
polkitd 25313 10698 0 16:58 ? 00:00:00 postgres
polkitd 25385 25313 0 16:58 ? 00:00:00 postgres: checkpointer process
polkitd 25386 25313 0 16:58 ? 00:00:00 postgres: writer process
polkitd 25387 25313 0 16:58 ? 00:00:00 postgres: wal writer process
polkitd 25388 25313 0 16:58 ? 00:00:00 postgres: autovacuum launcher process
polkitd 25389 25313 0 16:58 ? 00:00:00 postgres: stats collector process
docker top myapp
UID PID PPID C STIME TTY TIME CMD
root 30747 10698 0 18:56 ? 00:00:00 httpd -D FOREGROUND
48 30796 30747 0 18:56 ? 00:00:00 httpd -D FOREGROUND
48 30797 30747 0 18:56 ? 00:00:00 httpd -D FOREGROUND
48 30798 30747 0 18:56 ? 00:00:00 httpd -D FOREGROUND
48 30799 30747 0 18:56 ? 00:00:00 httpd -D FOREGROUND
48 30800 30747 0 18:56 ? 00:00:00 httpd -D FOREGROUND
PostgreSQL in docker container
• Alternate way to see Process Tree using systemd-cgls tool
systemd-cgls
├─1 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
├─user.slice
│ └─user-0.slice
│ └─session-34.scope
│ ├─25129 sshd: root@pts/0
│ ├─25131 -bash
│ └─31397 systemd-cgls
└─system.slice
├─docker-9457652d7f6ec24ebd95305e788fe39030b049deb22f240ee2b7383488d0c215.scope
│ ├─30747 httpd -D FOREGROUND
│ ├─30796 httpd -D FOREGROUND
│ ├─30797 httpd -D FOREGROUND
│ ├─30798 httpd -D FOREGROUND
│ ├─30799 httpd -D FOREGROUND
│ └─30800 httpd -D FOREGROUND
├─docker-8d720b31c1fe0de77d3cd89942c1a72902b67d466f821ce63ee1271561a36451.scope
│ ├─25313 postgres
│ ├─25385 postgres: checkpointer process
│ ├─25386 postgres: writer process
│ ├─25387 postgres: wal writer process
│ ├─25388 postgres: autovacuum launcher process
│ └─25389 postgres: stats collector process
├─docker.service
│ ├─10698 /usr/bin/docker daemon --selinux-enabled
│ └─30739 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8080 -contain...
PostgreSQL in Docker container
• Alternate way to see top containers using systemd-cgtop
systemd-cgtop
Path Tasks %CPU Memory Input/s Output/s
/ 100 0.9 1.5G - -
/user.slice 3 0.9 70.7M - -
/system.slice - 0.0 268.5M - -
/system.slice/docker.service 2 0.0 31.9M - -
/system.slice/nimbus.service 5 0.0 20.0K - -
/system.slice/tuned.service 1 0.0 36.0K - -
/system.slice/dock...49deb22f240ee2b7383488d0c215.scope 6 0.0 49.1M - -
/system.slice/auditd.service 1 - 11.9M - -
/system.slice/avahi-daemon.service 2 - 12.0K - -
/system.slice/crond.service 1 - 92.0K - -
/system.slice/dbus.service 1 - - - -
/system.slice/dock...7d466f821ce63ee1271561a36451.scope 6 - 127.3M - -
/system.slice/gssproxy.service 1 - - - -
/system.slice/libvirtd.service 3 - - - -
/system.slice/lvm2-lvmetad.service 1 - - - -
/system.slice/polkit.service 1 - 16.0K - -
/system.slice/postfix.service 3 - 3.5M - -
/system.slice/rsyslog.service 1 - 2.1M - -
/system.slice/sshd.service 1 - 3.0M - -
/system.slice/system-getty.slice/getty@tty1.service 1 - - - -
/system.slice/systemd-journald.service 1 - 16.0M - -
/system.slice/systemd-logind.service 1 - 20.0K - -
/system.slice/systemd-udevd.service 1 - 520.0K - -
/system.slice/xe-linux-distribution.service 2 - 1.0M - -
/user.slice/user-0.slice/session-34.scope 3 - - - -
PostgreSQL as a database server container
• Maybe you want a database server standalone
• Not all database clients will be on docker containers in the same host
• Need to limit memory usage
• Need different layout of how files are distributed (separage XLOG )
• Use the –p option to make the port available even to non containers clients
• Use –m to limit memory usage by the DB server (by default it can see and use all)
• Note this does not set shared buffers automatically with the library image
docker run --name mycontainer 
-m 4g 
-e POSTGRES_PASSWORD=mysecretpassword 
-v /hostpath/pgdata:/var/lib/postgresql/data 
-p 5432:5432 -d postgres
PostgreSQL in an enterprise environment
• However for a real production use case we would need
• Bigger shared memory configurations
• Need different layout of how files are distributed (separage XLOG )
• Ability to backup the database
• Ability to setup replication
• etc
• In short we need a more custom image of PostgreSQL
Best Practices for custom image
• For production install customize the docker image
• Allocate proper memory limits - example 8GB
• All pagecache usage shows up as docker container memory usage
• Bump up shared buffers and other parameters as required
• Hint: use PostgreSQL 9.3 or later otherwise have to privileged containers
• http://jkshah.blogspot.com/2015/09/is-it-privilege-to-run-container-in.html
• Support multiple volumes in your image
• Pg_xlog
• PITR archives
• Tablespaces as required
• Full Backup directory
• PostgreSQL Extensions
• Setup replication support
• Out of box replication setup
• Monitoring Tool
• Your favorite monitoring agent
References
• http://www.freedesktop.org/wiki/Software/systemd/
• https://linuxcontainers.org/
• http://www.haifux.org/lectures/299/netLec7.pdf
• http://haifux.org/lectures/320/netLec8_final.pdf
Revolutionary platform to encapsulate and manage
both legacy and new micro-services based applications
with data and configurations running on containers and
virtual machines in a private, public or hybrid cloud.
Put your DevOps on hyper-drive!
Efficiency and Velocity for Apps & Infrastructure
We are
HIRING !!!

Más contenido relacionado

La actualidad más candente

Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...Jérôme Petazzoni
 
Lxc – next gen virtualization for cloud intro (cloudexpo)
Lxc – next gen virtualization for cloud   intro (cloudexpo)Lxc – next gen virtualization for cloud   intro (cloudexpo)
Lxc – next gen virtualization for cloud intro (cloudexpo)Boden Russell
 
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copy
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copyLinux containers – next gen virtualization for cloud (atl summit) ar4 3 - copy
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copyBoden Russell
 
KVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStackKVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStackBoden Russell
 
Virtualization which isn't: LXC (Linux Containers)
Virtualization which isn't: LXC (Linux Containers)Virtualization which isn't: LXC (Linux Containers)
Virtualization which isn't: LXC (Linux Containers)Dobrica Pavlinušić
 
Tokyo OpenStack Summit 2015: Unraveling Docker Security
Tokyo OpenStack Summit 2015: Unraveling Docker SecurityTokyo OpenStack Summit 2015: Unraveling Docker Security
Tokyo OpenStack Summit 2015: Unraveling Docker SecurityPhil Estes
 
Performance characteristics of traditional v ms vs docker containers (dockerc...
Performance characteristics of traditional v ms vs docker containers (dockerc...Performance characteristics of traditional v ms vs docker containers (dockerc...
Performance characteristics of traditional v ms vs docker containers (dockerc...Boden Russell
 
CoreOS, or How I Learned to Stop Worrying and Love Systemd
CoreOS, or How I Learned to Stop Worrying and Love SystemdCoreOS, or How I Learned to Stop Worrying and Love Systemd
CoreOS, or How I Learned to Stop Worrying and Love SystemdRichard Lister
 
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxConAnatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxConJérôme Petazzoni
 
Rooting Out Root: User namespaces in Docker
Rooting Out Root: User namespaces in DockerRooting Out Root: User namespaces in Docker
Rooting Out Root: User namespaces in DockerPhil Estes
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerJustyna Ilczuk
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerHiroki Endo
 
An Updated Performance Comparison of Virtual Machines and Linux Containers
An Updated Performance Comparison of Virtual Machines and Linux ContainersAn Updated Performance Comparison of Virtual Machines and Linux Containers
An Updated Performance Comparison of Virtual Machines and Linux ContainersKento Aoyama
 
Containers are the future of the Cloud
Containers are the future of the CloudContainers are the future of the Cloud
Containers are the future of the CloudPavel Odintsov
 
Intro- Docker Native for OSX and Windows
Intro- Docker Native for OSX and WindowsIntro- Docker Native for OSX and Windows
Intro- Docker Native for OSX and WindowsThomas Chacko
 
Inside Docker for Fedora20/RHEL7
Inside Docker for Fedora20/RHEL7Inside Docker for Fedora20/RHEL7
Inside Docker for Fedora20/RHEL7Etsuji Nakai
 
How Secure Is Your Container? ContainerCon Berlin 2016
How Secure Is Your Container? ContainerCon Berlin 2016How Secure Is Your Container? ContainerCon Berlin 2016
How Secure Is Your Container? ContainerCon Berlin 2016Phil Estes
 

La actualidad más candente (20)

Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
 
Lxc – next gen virtualization for cloud intro (cloudexpo)
Lxc – next gen virtualization for cloud   intro (cloudexpo)Lxc – next gen virtualization for cloud   intro (cloudexpo)
Lxc – next gen virtualization for cloud intro (cloudexpo)
 
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copy
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copyLinux containers – next gen virtualization for cloud (atl summit) ar4 3 - copy
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copy
 
KVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStackKVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStack
 
Virtualization which isn't: LXC (Linux Containers)
Virtualization which isn't: LXC (Linux Containers)Virtualization which isn't: LXC (Linux Containers)
Virtualization which isn't: LXC (Linux Containers)
 
Tokyo OpenStack Summit 2015: Unraveling Docker Security
Tokyo OpenStack Summit 2015: Unraveling Docker SecurityTokyo OpenStack Summit 2015: Unraveling Docker Security
Tokyo OpenStack Summit 2015: Unraveling Docker Security
 
Performance characteristics of traditional v ms vs docker containers (dockerc...
Performance characteristics of traditional v ms vs docker containers (dockerc...Performance characteristics of traditional v ms vs docker containers (dockerc...
Performance characteristics of traditional v ms vs docker containers (dockerc...
 
CoreOS, or How I Learned to Stop Worrying and Love Systemd
CoreOS, or How I Learned to Stop Worrying and Love SystemdCoreOS, or How I Learned to Stop Worrying and Love Systemd
CoreOS, or How I Learned to Stop Worrying and Love Systemd
 
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxConAnatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
 
Rooting Out Root: User namespaces in Docker
Rooting Out Root: User namespaces in DockerRooting Out Root: User namespaces in Docker
Rooting Out Root: User namespaces in Docker
 
Docker_AGH_v0.1.3
Docker_AGH_v0.1.3Docker_AGH_v0.1.3
Docker_AGH_v0.1.3
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Ansible docker
Ansible dockerAnsible docker
Ansible docker
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
An Updated Performance Comparison of Virtual Machines and Linux Containers
An Updated Performance Comparison of Virtual Machines and Linux ContainersAn Updated Performance Comparison of Virtual Machines and Linux Containers
An Updated Performance Comparison of Virtual Machines and Linux Containers
 
Containers are the future of the Cloud
Containers are the future of the CloudContainers are the future of the Cloud
Containers are the future of the Cloud
 
Intro- Docker Native for OSX and Windows
Intro- Docker Native for OSX and WindowsIntro- Docker Native for OSX and Windows
Intro- Docker Native for OSX and Windows
 
Testing Docker Security Linuxlab 2017
Testing Docker Security Linuxlab 2017Testing Docker Security Linuxlab 2017
Testing Docker Security Linuxlab 2017
 
Inside Docker for Fedora20/RHEL7
Inside Docker for Fedora20/RHEL7Inside Docker for Fedora20/RHEL7
Inside Docker for Fedora20/RHEL7
 
How Secure Is Your Container? ContainerCon Berlin 2016
How Secure Is Your Container? ContainerCon Berlin 2016How Secure Is Your Container? ContainerCon Berlin 2016
How Secure Is Your Container? ContainerCon Berlin 2016
 

Similar a Postgre sql linuxcontainers by Jignesh Shah

Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Patrick Chanezon
 
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on AzureDocker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on AzurePatrick Chanezon
 
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzureDevoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzurePatrick Chanezon
 
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure Patrick Chanezon
 
Docker 1.11 Presentation
Docker 1.11 PresentationDocker 1.11 Presentation
Docker 1.11 PresentationSreenivas Makam
 
[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at NuxeoNuxeo
 
Docker Security Overview
Docker Security OverviewDocker Security Overview
Docker Security OverviewSreenivas Makam
 
Docker Container Security
Docker Container SecurityDocker Container Security
Docker Container SecuritySuraj Khetani
 
Docker introduction
Docker introductionDocker introduction
Docker introductionWalter Liu
 
Docking postgres
Docking postgresDocking postgres
Docking postgresrycamor
 
Docker - From Walking To Running
Docker - From Walking To RunningDocker - From Walking To Running
Docker - From Walking To RunningGiacomo Vacca
 
Unraveling Docker Security: Lessons From a Production Cloud
Unraveling Docker Security: Lessons From a Production CloudUnraveling Docker Security: Lessons From a Production Cloud
Unraveling Docker Security: Lessons From a Production CloudSalman Baset
 
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsElasTest Project
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetesDongwon Kim
 
Continuous delivery workflow with Docker
Continuous delivery workflow with DockerContinuous delivery workflow with Docker
Continuous delivery workflow with DockerIgor Moochnick
 
Docker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in PragueDocker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in Praguetomasbart
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with DockerGeeta Vinnakota
 
containerD
containerDcontainerD
containerDstrikr .
 
Dockerizing the Hard Services: Neutron and Nova
Dockerizing the Hard Services: Neutron and NovaDockerizing the Hard Services: Neutron and Nova
Dockerizing the Hard Services: Neutron and Novaclayton_oneill
 

Similar a Postgre sql linuxcontainers by Jignesh Shah (20)

Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
 
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on AzureDocker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
 
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzureDevoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
 
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
 
Docker 1.11 Presentation
Docker 1.11 PresentationDocker 1.11 Presentation
Docker 1.11 Presentation
 
[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo
 
Docker Security Overview
Docker Security OverviewDocker Security Overview
Docker Security Overview
 
Docker Container Security
Docker Container SecurityDocker Container Security
Docker Container Security
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docking postgres
Docking postgresDocking postgres
Docking postgres
 
Docker - From Walking To Running
Docker - From Walking To RunningDocker - From Walking To Running
Docker - From Walking To Running
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Unraveling Docker Security: Lessons From a Production Cloud
Unraveling Docker Security: Lessons From a Production CloudUnraveling Docker Security: Lessons From a Production Cloud
Unraveling Docker Security: Lessons From a Production Cloud
 
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Continuous delivery workflow with Docker
Continuous delivery workflow with DockerContinuous delivery workflow with Docker
Continuous delivery workflow with Docker
 
Docker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in PragueDocker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in Prague
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
 
containerD
containerDcontainerD
containerD
 
Dockerizing the Hard Services: Neutron and Nova
Dockerizing the Hard Services: Neutron and NovaDockerizing the Hard Services: Neutron and Nova
Dockerizing the Hard Services: Neutron and Nova
 

Más de PivotalOpenSourceHub

Zettaset Elastic Big Data Security for Greenplum Database
Zettaset Elastic Big Data Security for Greenplum DatabaseZettaset Elastic Big Data Security for Greenplum Database
Zettaset Elastic Big Data Security for Greenplum DatabasePivotalOpenSourceHub
 
New Security Framework in Apache Geode
New Security Framework in Apache GeodeNew Security Framework in Apache Geode
New Security Framework in Apache GeodePivotalOpenSourceHub
 
Apache Geode Clubhouse - WAN-based Replication
Apache Geode Clubhouse - WAN-based ReplicationApache Geode Clubhouse - WAN-based Replication
Apache Geode Clubhouse - WAN-based ReplicationPivotalOpenSourceHub
 
#GeodeSummit: Easy Ways to Become a Contributor to Apache Geode
#GeodeSummit: Easy Ways to Become a Contributor to Apache Geode#GeodeSummit: Easy Ways to Become a Contributor to Apache Geode
#GeodeSummit: Easy Ways to Become a Contributor to Apache GeodePivotalOpenSourceHub
 
#GeodeSummit Keynote: Creating the Future of Big Data Through 'The Apache Way"
#GeodeSummit Keynote: Creating the Future of Big Data Through 'The Apache Way"#GeodeSummit Keynote: Creating the Future of Big Data Through 'The Apache Way"
#GeodeSummit Keynote: Creating the Future of Big Data Through 'The Apache Way"PivotalOpenSourceHub
 
#GeodeSummit: Combining Stream Processing and In-Memory Data Grids for Near-R...
#GeodeSummit: Combining Stream Processing and In-Memory Data Grids for Near-R...#GeodeSummit: Combining Stream Processing and In-Memory Data Grids for Near-R...
#GeodeSummit: Combining Stream Processing and In-Memory Data Grids for Near-R...PivotalOpenSourceHub
 
#GeodeSummit - Off-Heap Storage Current and Future Design
#GeodeSummit - Off-Heap Storage Current and Future Design#GeodeSummit - Off-Heap Storage Current and Future Design
#GeodeSummit - Off-Heap Storage Current and Future DesignPivotalOpenSourceHub
 
#GeodeSummit - Redis to Geode Adaptor
#GeodeSummit - Redis to Geode Adaptor#GeodeSummit - Redis to Geode Adaptor
#GeodeSummit - Redis to Geode AdaptorPivotalOpenSourceHub
 
#GeodeSummit - Integration & Future Direction for Spring Cloud Data Flow & Geode
#GeodeSummit - Integration & Future Direction for Spring Cloud Data Flow & Geode#GeodeSummit - Integration & Future Direction for Spring Cloud Data Flow & Geode
#GeodeSummit - Integration & Future Direction for Spring Cloud Data Flow & GeodePivotalOpenSourceHub
 
#GeodeSummit - Spring Data GemFire API Current and Future
#GeodeSummit - Spring Data GemFire API Current and Future#GeodeSummit - Spring Data GemFire API Current and Future
#GeodeSummit - Spring Data GemFire API Current and FuturePivotalOpenSourceHub
 
#GeodeSummit - Modern manufacturing powered by Spring XD and Geode
#GeodeSummit - Modern manufacturing powered by Spring XD and Geode#GeodeSummit - Modern manufacturing powered by Spring XD and Geode
#GeodeSummit - Modern manufacturing powered by Spring XD and GeodePivotalOpenSourceHub
 
#GeodeSummit - Using Geode as Operational Data Services for Real Time Mobile ...
#GeodeSummit - Using Geode as Operational Data Services for Real Time Mobile ...#GeodeSummit - Using Geode as Operational Data Services for Real Time Mobile ...
#GeodeSummit - Using Geode as Operational Data Services for Real Time Mobile ...PivotalOpenSourceHub
 
#GeodeSummit - Large Scale Fraud Detection using GemFire Integrated with Gree...
#GeodeSummit - Large Scale Fraud Detection using GemFire Integrated with Gree...#GeodeSummit - Large Scale Fraud Detection using GemFire Integrated with Gree...
#GeodeSummit - Large Scale Fraud Detection using GemFire Integrated with Gree...PivotalOpenSourceHub
 
#GeodeSummit: Democratizing Fast Analytics with Ampool (Powered by Apache Geode)
#GeodeSummit: Democratizing Fast Analytics with Ampool (Powered by Apache Geode)#GeodeSummit: Democratizing Fast Analytics with Ampool (Powered by Apache Geode)
#GeodeSummit: Democratizing Fast Analytics with Ampool (Powered by Apache Geode)PivotalOpenSourceHub
 
#GeodeSummit: Architecting Data-Driven, Smarter Cloud Native Apps with Real-T...
#GeodeSummit: Architecting Data-Driven, Smarter Cloud Native Apps with Real-T...#GeodeSummit: Architecting Data-Driven, Smarter Cloud Native Apps with Real-T...
#GeodeSummit: Architecting Data-Driven, Smarter Cloud Native Apps with Real-T...PivotalOpenSourceHub
 
#GeodeSummit - Apex & Geode: In-memory streaming, storage & analytics
#GeodeSummit - Apex & Geode: In-memory streaming, storage & analytics#GeodeSummit - Apex & Geode: In-memory streaming, storage & analytics
#GeodeSummit - Apex & Geode: In-memory streaming, storage & analyticsPivotalOpenSourceHub
 
#GeodeSummit - Where Does Geode Fit in Modern System Architectures
#GeodeSummit - Where Does Geode Fit in Modern System Architectures#GeodeSummit - Where Does Geode Fit in Modern System Architectures
#GeodeSummit - Where Does Geode Fit in Modern System ArchitecturesPivotalOpenSourceHub
 
#GeodeSummit - Design Tradeoffs in Distributed Systems
#GeodeSummit - Design Tradeoffs in Distributed Systems#GeodeSummit - Design Tradeoffs in Distributed Systems
#GeodeSummit - Design Tradeoffs in Distributed SystemsPivotalOpenSourceHub
 
#GeodeSummit - Wall St. Derivative Risk Solutions Using Geode
#GeodeSummit - Wall St. Derivative Risk Solutions Using Geode#GeodeSummit - Wall St. Derivative Risk Solutions Using Geode
#GeodeSummit - Wall St. Derivative Risk Solutions Using GeodePivotalOpenSourceHub
 
Building Apps with Distributed In-Memory Computing Using Apache Geode
Building Apps with Distributed In-Memory Computing Using Apache GeodeBuilding Apps with Distributed In-Memory Computing Using Apache Geode
Building Apps with Distributed In-Memory Computing Using Apache GeodePivotalOpenSourceHub
 

Más de PivotalOpenSourceHub (20)

Zettaset Elastic Big Data Security for Greenplum Database
Zettaset Elastic Big Data Security for Greenplum DatabaseZettaset Elastic Big Data Security for Greenplum Database
Zettaset Elastic Big Data Security for Greenplum Database
 
New Security Framework in Apache Geode
New Security Framework in Apache GeodeNew Security Framework in Apache Geode
New Security Framework in Apache Geode
 
Apache Geode Clubhouse - WAN-based Replication
Apache Geode Clubhouse - WAN-based ReplicationApache Geode Clubhouse - WAN-based Replication
Apache Geode Clubhouse - WAN-based Replication
 
#GeodeSummit: Easy Ways to Become a Contributor to Apache Geode
#GeodeSummit: Easy Ways to Become a Contributor to Apache Geode#GeodeSummit: Easy Ways to Become a Contributor to Apache Geode
#GeodeSummit: Easy Ways to Become a Contributor to Apache Geode
 
#GeodeSummit Keynote: Creating the Future of Big Data Through 'The Apache Way"
#GeodeSummit Keynote: Creating the Future of Big Data Through 'The Apache Way"#GeodeSummit Keynote: Creating the Future of Big Data Through 'The Apache Way"
#GeodeSummit Keynote: Creating the Future of Big Data Through 'The Apache Way"
 
#GeodeSummit: Combining Stream Processing and In-Memory Data Grids for Near-R...
#GeodeSummit: Combining Stream Processing and In-Memory Data Grids for Near-R...#GeodeSummit: Combining Stream Processing and In-Memory Data Grids for Near-R...
#GeodeSummit: Combining Stream Processing and In-Memory Data Grids for Near-R...
 
#GeodeSummit - Off-Heap Storage Current and Future Design
#GeodeSummit - Off-Heap Storage Current and Future Design#GeodeSummit - Off-Heap Storage Current and Future Design
#GeodeSummit - Off-Heap Storage Current and Future Design
 
#GeodeSummit - Redis to Geode Adaptor
#GeodeSummit - Redis to Geode Adaptor#GeodeSummit - Redis to Geode Adaptor
#GeodeSummit - Redis to Geode Adaptor
 
#GeodeSummit - Integration & Future Direction for Spring Cloud Data Flow & Geode
#GeodeSummit - Integration & Future Direction for Spring Cloud Data Flow & Geode#GeodeSummit - Integration & Future Direction for Spring Cloud Data Flow & Geode
#GeodeSummit - Integration & Future Direction for Spring Cloud Data Flow & Geode
 
#GeodeSummit - Spring Data GemFire API Current and Future
#GeodeSummit - Spring Data GemFire API Current and Future#GeodeSummit - Spring Data GemFire API Current and Future
#GeodeSummit - Spring Data GemFire API Current and Future
 
#GeodeSummit - Modern manufacturing powered by Spring XD and Geode
#GeodeSummit - Modern manufacturing powered by Spring XD and Geode#GeodeSummit - Modern manufacturing powered by Spring XD and Geode
#GeodeSummit - Modern manufacturing powered by Spring XD and Geode
 
#GeodeSummit - Using Geode as Operational Data Services for Real Time Mobile ...
#GeodeSummit - Using Geode as Operational Data Services for Real Time Mobile ...#GeodeSummit - Using Geode as Operational Data Services for Real Time Mobile ...
#GeodeSummit - Using Geode as Operational Data Services for Real Time Mobile ...
 
#GeodeSummit - Large Scale Fraud Detection using GemFire Integrated with Gree...
#GeodeSummit - Large Scale Fraud Detection using GemFire Integrated with Gree...#GeodeSummit - Large Scale Fraud Detection using GemFire Integrated with Gree...
#GeodeSummit - Large Scale Fraud Detection using GemFire Integrated with Gree...
 
#GeodeSummit: Democratizing Fast Analytics with Ampool (Powered by Apache Geode)
#GeodeSummit: Democratizing Fast Analytics with Ampool (Powered by Apache Geode)#GeodeSummit: Democratizing Fast Analytics with Ampool (Powered by Apache Geode)
#GeodeSummit: Democratizing Fast Analytics with Ampool (Powered by Apache Geode)
 
#GeodeSummit: Architecting Data-Driven, Smarter Cloud Native Apps with Real-T...
#GeodeSummit: Architecting Data-Driven, Smarter Cloud Native Apps with Real-T...#GeodeSummit: Architecting Data-Driven, Smarter Cloud Native Apps with Real-T...
#GeodeSummit: Architecting Data-Driven, Smarter Cloud Native Apps with Real-T...
 
#GeodeSummit - Apex & Geode: In-memory streaming, storage & analytics
#GeodeSummit - Apex & Geode: In-memory streaming, storage & analytics#GeodeSummit - Apex & Geode: In-memory streaming, storage & analytics
#GeodeSummit - Apex & Geode: In-memory streaming, storage & analytics
 
#GeodeSummit - Where Does Geode Fit in Modern System Architectures
#GeodeSummit - Where Does Geode Fit in Modern System Architectures#GeodeSummit - Where Does Geode Fit in Modern System Architectures
#GeodeSummit - Where Does Geode Fit in Modern System Architectures
 
#GeodeSummit - Design Tradeoffs in Distributed Systems
#GeodeSummit - Design Tradeoffs in Distributed Systems#GeodeSummit - Design Tradeoffs in Distributed Systems
#GeodeSummit - Design Tradeoffs in Distributed Systems
 
#GeodeSummit - Wall St. Derivative Risk Solutions Using Geode
#GeodeSummit - Wall St. Derivative Risk Solutions Using Geode#GeodeSummit - Wall St. Derivative Risk Solutions Using Geode
#GeodeSummit - Wall St. Derivative Risk Solutions Using Geode
 
Building Apps with Distributed In-Memory Computing Using Apache Geode
Building Apps with Distributed In-Memory Computing Using Apache GeodeBuilding Apps with Distributed In-Memory Computing Using Apache Geode
Building Apps with Distributed In-Memory Computing Using Apache Geode
 

Último

Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% SecurePooja Nehwal
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxolyaivanovalion
 
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...amitlee9823
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfadriantubila
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...SUHANI PANDEY
 
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Researchmichael115558
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...amitlee9823
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangaloreamitlee9823
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAroojKhan71
 
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...amitlee9823
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz1
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxolyaivanovalion
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 

Último (20)

Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
 
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
 
Predicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science ProjectPredicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science Project
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
 
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptx
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 

Postgre sql linuxcontainers by Jignesh Shah

  • 1. PostgreSQL and Linux Containers Jignesh Shah Founding Team @appOrbit SF Bay Area PostgreSQL User Group – Jan 5th 2015
  • 2. Disclaimer The views expressed in this presentation are my own and do not necessarily reflect the views of appOrbit.
  • 3. About Jignesh (@jkshah) • appOrbit • My focus is on managing Application Data running in Containers • VMware • Lead and manage Postgres and Data Management teams at VMware for various products embedding PostgreSQL running in virtualized embedded instances • Sun Microsystems • Team Member of first published SpecJAppServer 2004 benchmark with PostgreSQL • Performance of PostgreSQL on Solaris/Sun Servers • Working with PostgreSQL community since 2005 • http://jkshah.blogspot.com/2005/04/profiling-postgresql-using-dtrace-on_22.html • Working with Container technologies (Solaris Zones) since 2004 • http://jkshah.blogspot.com/2004/08/db2-working-under-solaris-10-zones_30.html
  • 4. Agenda • Containers • Definition • Early examples • Linux Containers • Underlying Technologies • LXC • Systemd-nspawn • Docker Containers • Installation • Images • Volumes • PostgreSQL in Docker Container • What it means • Best practices
  • 5. What are Containers? • OS Level virtualization where kernel allows for multiple isolated user-space instances Operating System Bare Metal Server OS Bare Metal Server Hypervisor OS Operating System Bare Metal Server C C C C C OS Bare Metal Server Hypervisor OS C C C C
  • 6. Advantages of Containers • Lower footprint • Very Quick Startup and Shutdown time • Density • Nesting
  • 7. Disadvantages of Containers • Same Kernel version • Cannot run other OS natively • Security (to be improved)
  • 8. Where to use container? • Recreate identical environment (cookie-cutter) • Resource Grouping of specific processes in heavily loaded server • Handling multiple versions of software applications • Ephemeral application instances (Dev/Test) • Many more
  • 9. Implementations of Containers • Chroot circa 1982 • FreeBSD Jails circa 2000 • Solaris Zones circa 2004 • Meiosys – MetaClusters with Checkpoint/Restore 2004-05 • Linux OpenVZ circa 2005 (not in mainstream Linux) • AIX WPARs circa 2007 • LXC circa 2008 • Systemd-nspawn circa 2010-2013 • Docker circa 2013
  • 10. What makes containers possible? • Process Group Isolation • Filesystem Isolation • Network Isolation • CPU Isolation • Memory Isolation • Example – Solaris Containers • Base implementation provided Process, Filesystem and Network Isolation • Resource pools consisting of CPU, memory was originally used • Branded Zones – Userland Library Isolation
  • 11. What makes Linux containers possible ? • cgroups • Allows limitation and prioritization of resources (CPU, memory, block I/O, network, etc.) • Namespace isolation • Mount namespace • PID namespace • Network namespace • UTS (Allows changing hostname, domainname) • IPC Namespace • User namespace • LXC • Combines kernel’s cgroup and namespaces to provide an isolated environment
  • 12. LXC • CentOS 7 + EPEL Repository set • Commands available • Quick Guide to use an LXC based container of busybox lxc-attach lxc-clone lxc-destroy lxc-ls lxc-stop lxc-usernsexec lxc-autostart lxc-config lxc-execute lxc-monitor lxc-top lxc-wait lxc-cgroup lxc-console lxc-freeze lxc-snapshot lxc-unfreeze lxc-checkconfig lxc-create lxc-info lxc-start lxc-unshare wget https://www.busybox.net/downloads/binaries/busybox-x86_64 -O busybox chmod a+x busybox PATH=$(pwd):$PATH lxc-create -t busybox -n mycontainer lxc-start -d -n mycontainer lxc-console –n mycontainer # (Use CTRL-A Q to exit console mode) lxc-stop -n mycontainer lxc-destroy -n mycontainer yum install epel-release yum install bridge-utils libvirt lxc lxc-templates
  • 13. Systemd-nspawn • Systemd • Replacement of SysV init scripts • Systemd-nspawn • Used to run a command or OS in light weight namespace container • Installed on most newer distros by default • Commands available systemd-analyze systemd-delta systemd-nspawn systemd-ask-password systemd-detect-virt systemd-run systemd-cat systemd-cgls systemd-loginctl systemd-sysv-convert systemd-cgtop systemd-machine-id-setup systemd-coredumpctl systemd-notify systemd-tty-ask-password-agent systemd-inhibit systemd-stdio-bridge systemd-tmpfiles systemctl machinectl hostnamectl journalctl yum install systemd
  • 14. Systemd-nspawn • Quick guide to a container deployment using systemd-nspawn • Useful tools machinectl status mycontainer systemd-cgls systemd-cgtop # Create an Image yum -y --releasever=7 --nogpg --installroot=/mycontainers/centos7 install systemd passwd yum fedora-release vim-minimal # Change the root password in the image systemd-nspawn -D /mycontainers/centos7 passwd exit # Start the container as if booting into the container image systemd-nspawn -D /mycontainers/centos7 –M mycontainer –b # Get into the container nsenter -m -u -i -n -p –t $PID machinectl login mycontainer
  • 15. Trends of Container Technologies
  • 16. Disruption of trends by Docker
  • 17. Docker • Installation • Commands available with docker binary • Quick Guide to use a docker based container attach build commit cp create diff events exec export history images import info inspect kill load login logout logs pause port ps pull push rename restart rm rmi run save search start stats stop tag top unpause version wait docker run --name mycontainer -e POSTGRES_PASSWORD=mysecretpassword -d postgres docker exec -ti mycontainer psql -U postgres docker stop mycontainer docker rm mycontainer docker rmi postgres yum install docker systemctl start docker
  • 18. Dockerfile – Custom Recipe • Container images are created using “Dockerfile” • Build an image using the recipe file • Push to a public or private registry (hub account login or private registry needed) FROM centos:centos7.0.1406 RUN yum install -y epel-release RUN yum install -y nginx EXPOSE 80 CMD ["bash", "-l", "-c", "/usr/sbin/nginx -g "daemon off;""] docker build –t jkshah/nginx –t . docker push jkshah/nginx:latest
  • 19. Docker Images • Docker Images are layered templates used by containers instances • Container instance images are layered Copy on Write Images based on Docker images • You can mutate your local container images (unless you use --read-only flag) • Not good for fast and frequent changing data • Can select a different underlying type using --storage-driver docker push jkshah/nginx:latest Do you really want to push to public registry? [y/n]: y The push refers to a repository [docker.io/jkshah/nginx] (len: 1) d498b5680966: Pushed 4b1d16518ce1: Pushed 3185bef36db4: Pushed 2f7013eef4b8: Pushed 539eca37bade: Pushed f1b10cd84249: Pushed latest: digest: sha256:46208d1f0393946b33c2bdce498168de507b7186a897f332bab0cffc1ea601c7 size: 10608
  • 20. Docker Volumes • Persists beyond the life of a Docker container • VOLUME command in Dockerfile or • Using –v using docker run command • Automatically created if not already present during docker run • Not part of docker push/pull operations • Can select a non-local directory using --volume-driver • Third party components required to get multi-host support (NFS, etc ) • On CentOS with SELinux enabled need to set security context • Different options using –v • -v /hostsrc/data:/opt/data:ro # for read only volumes (default rw) • -v /hostsrc/data:/opt/data:Z # Z – private volume, z – shared volume • -v /etc/nginx.conf:/etc/nginx.conf # for mounting a single file only • Volumes can be shared from another container using --volumes-from on same host • Docker 1.9 gives first class status to Docker Volumes chcon -Rt svirt_sandbox_file_t /hostpath/pgdata
  • 21. PostgreSQL in Docker container • Quick Deployment: • Check Deployment: • Use inspect command to get more information about the container • To check PostgreSQL system logs docker run --name mycontainer -v /hostpath/pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD=mysecretpassword -d postgres docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8d720b31c1fe postgres "/docker-entrypoint.s" 5 minutes ago Up 5 minutes 5432/tcp mycontainer docker logs mycontainer The files belonging to this database system will be owned by user "postgres". This user must also own the server process. … LOG: database system was shut down at 2016-01-04 22:58:40 UTC LOG: MultiXact member wraparound protections are now enabled LOG: database system is ready to accept connections LOG: autovacuum launcher started docker inspect mycontainer
  • 22. PostgreSQL in docker container • Part of Postgres Dockerfile has • Impacts • Port is exposed only to other containers directly linking with this container • Data is persistent only for the life of container (docker rm) but not easily accessible outside the container • -v enables to access the data outside container • Linking to PostgreSQL Server container • Ports are exposed externally using –p option • Verify using docker run --name myapp --link mycontainer:ds2db -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=mysecretpassword -p 8080:80 -d jkshah/dvdstore2 EXPOSE 5432 VOLUME /var/lib/postgresql/data docker port myapp 80/tcp -> 0.0.0.0:8080
  • 23. PostgreSQL in docker container • Check for statistics using • Check for top processes in a container docker stats mycontainer myapp CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O myapp 0.01% 51.51 MB/1.924 GB 2.68% 54.42 kB/7.576 MB mycontainer 0.01% 133.3 MB/1.924 GB 6.93% 7.577 MB/54.42 kB docker top mycontainer UID PID PPID C STIME TTY TIME CMD polkitd 25313 10698 0 16:58 ? 00:00:00 postgres polkitd 25385 25313 0 16:58 ? 00:00:00 postgres: checkpointer process polkitd 25386 25313 0 16:58 ? 00:00:00 postgres: writer process polkitd 25387 25313 0 16:58 ? 00:00:00 postgres: wal writer process polkitd 25388 25313 0 16:58 ? 00:00:00 postgres: autovacuum launcher process polkitd 25389 25313 0 16:58 ? 00:00:00 postgres: stats collector process docker top myapp UID PID PPID C STIME TTY TIME CMD root 30747 10698 0 18:56 ? 00:00:00 httpd -D FOREGROUND 48 30796 30747 0 18:56 ? 00:00:00 httpd -D FOREGROUND 48 30797 30747 0 18:56 ? 00:00:00 httpd -D FOREGROUND 48 30798 30747 0 18:56 ? 00:00:00 httpd -D FOREGROUND 48 30799 30747 0 18:56 ? 00:00:00 httpd -D FOREGROUND 48 30800 30747 0 18:56 ? 00:00:00 httpd -D FOREGROUND
  • 24. PostgreSQL in docker container • Alternate way to see Process Tree using systemd-cgls tool systemd-cgls ├─1 /usr/lib/systemd/systemd --switched-root --system --deserialize 21 ├─user.slice │ └─user-0.slice │ └─session-34.scope │ ├─25129 sshd: root@pts/0 │ ├─25131 -bash │ └─31397 systemd-cgls └─system.slice ├─docker-9457652d7f6ec24ebd95305e788fe39030b049deb22f240ee2b7383488d0c215.scope │ ├─30747 httpd -D FOREGROUND │ ├─30796 httpd -D FOREGROUND │ ├─30797 httpd -D FOREGROUND │ ├─30798 httpd -D FOREGROUND │ ├─30799 httpd -D FOREGROUND │ └─30800 httpd -D FOREGROUND ├─docker-8d720b31c1fe0de77d3cd89942c1a72902b67d466f821ce63ee1271561a36451.scope │ ├─25313 postgres │ ├─25385 postgres: checkpointer process │ ├─25386 postgres: writer process │ ├─25387 postgres: wal writer process │ ├─25388 postgres: autovacuum launcher process │ └─25389 postgres: stats collector process ├─docker.service │ ├─10698 /usr/bin/docker daemon --selinux-enabled │ └─30739 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8080 -contain...
  • 25. PostgreSQL in Docker container • Alternate way to see top containers using systemd-cgtop systemd-cgtop Path Tasks %CPU Memory Input/s Output/s / 100 0.9 1.5G - - /user.slice 3 0.9 70.7M - - /system.slice - 0.0 268.5M - - /system.slice/docker.service 2 0.0 31.9M - - /system.slice/nimbus.service 5 0.0 20.0K - - /system.slice/tuned.service 1 0.0 36.0K - - /system.slice/dock...49deb22f240ee2b7383488d0c215.scope 6 0.0 49.1M - - /system.slice/auditd.service 1 - 11.9M - - /system.slice/avahi-daemon.service 2 - 12.0K - - /system.slice/crond.service 1 - 92.0K - - /system.slice/dbus.service 1 - - - - /system.slice/dock...7d466f821ce63ee1271561a36451.scope 6 - 127.3M - - /system.slice/gssproxy.service 1 - - - - /system.slice/libvirtd.service 3 - - - - /system.slice/lvm2-lvmetad.service 1 - - - - /system.slice/polkit.service 1 - 16.0K - - /system.slice/postfix.service 3 - 3.5M - - /system.slice/rsyslog.service 1 - 2.1M - - /system.slice/sshd.service 1 - 3.0M - - /system.slice/system-getty.slice/getty@tty1.service 1 - - - - /system.slice/systemd-journald.service 1 - 16.0M - - /system.slice/systemd-logind.service 1 - 20.0K - - /system.slice/systemd-udevd.service 1 - 520.0K - - /system.slice/xe-linux-distribution.service 2 - 1.0M - - /user.slice/user-0.slice/session-34.scope 3 - - - -
  • 26. PostgreSQL as a database server container • Maybe you want a database server standalone • Not all database clients will be on docker containers in the same host • Need to limit memory usage • Need different layout of how files are distributed (separage XLOG ) • Use the –p option to make the port available even to non containers clients • Use –m to limit memory usage by the DB server (by default it can see and use all) • Note this does not set shared buffers automatically with the library image docker run --name mycontainer -m 4g -e POSTGRES_PASSWORD=mysecretpassword -v /hostpath/pgdata:/var/lib/postgresql/data -p 5432:5432 -d postgres
  • 27. PostgreSQL in an enterprise environment • However for a real production use case we would need • Bigger shared memory configurations • Need different layout of how files are distributed (separage XLOG ) • Ability to backup the database • Ability to setup replication • etc • In short we need a more custom image of PostgreSQL
  • 28. Best Practices for custom image • For production install customize the docker image • Allocate proper memory limits - example 8GB • All pagecache usage shows up as docker container memory usage • Bump up shared buffers and other parameters as required • Hint: use PostgreSQL 9.3 or later otherwise have to privileged containers • http://jkshah.blogspot.com/2015/09/is-it-privilege-to-run-container-in.html • Support multiple volumes in your image • Pg_xlog • PITR archives • Tablespaces as required • Full Backup directory • PostgreSQL Extensions • Setup replication support • Out of box replication setup • Monitoring Tool • Your favorite monitoring agent
  • 29. References • http://www.freedesktop.org/wiki/Software/systemd/ • https://linuxcontainers.org/ • http://www.haifux.org/lectures/299/netLec7.pdf • http://haifux.org/lectures/320/netLec8_final.pdf
  • 30. Revolutionary platform to encapsulate and manage both legacy and new micro-services based applications with data and configurations running on containers and virtual machines in a private, public or hybrid cloud. Put your DevOps on hyper-drive! Efficiency and Velocity for Apps & Infrastructure We are HIRING !!!