-
tools
-
plugins
-
gr8 container
- greift per docker event / socket die Log STDOUT und STDERR der Docker Container ab.
- start logspout
docker run -d --name="logspout" --volume=/var/run/docker.sock:
/tmp/docker.sock --publish=127.0.0.1:8000:80 gliderlabs/logspout
- curl the logs
curl http://172.17.0.108:8000/logs
curl http://172.17.0.108:8000/logs/id:containerid
curl http://172.17.0.108:8000/logs/name:containername
-
docker-stress go stress test tool https://github.com/crosbymichael/docker-stress
-
go lang package https://golang.org/pkg/net/http/pprof/
-
Virtualization: https://medium.com/@calavera/docker-flame-graphs-f9523e98d57d#.qfmp4xnpj
-
a Flocker data volume, called a dataset, is portable and can be used with any container in your cluster.
-
Flocker manages Docker containers and data volumes together.
-
When you use Flocker to manage your stateful microservice, your volumes will follow your containers when they move between different hosts in your cluster.
-
kubernetes integration: https://github.com/kubernetes/kubernetes/tree/release-1.2/examples/flocker/
- highly distributed and highly available tool for service discovery
- http://jlordiales.me/2015/01/23/docker-consul/
docker run -d -p 8400:8400 -p 8500:8500 -p 8600:53/udp -h node1
progrium/consul -server -bootstrap -ui-dir /ui
JOIN_IP="$(docker inspect -f '{{.NetworkSettings.IPAddress}}' node1)"
docker run -d --name node2 -h node2 progrium/consul -server -join
$JOIN_IP
docker run -d --name node3 -h node3 progrium/consul -server -join
$JOIN_IP
curl -s http://10.xx.xx.20:8500/v1/catalog/services
curl -s http://10.xx.xx.20:8500/v1/catalog/service/dockerui
- http://gliderlabs.com/blog
- http://jlordiales.me/2015/02/03/registrator
- autom. Registrierung von Docker Containern
docker run -d -v /var/run/docker.sock:/tmp/docker.sock -h
$HOSTNAME gliderlabs/registrator consul://10.xx.xx.20:8500
-
online docker-compose editor
-
validator
-
composer
-
Docker Workflow Engine
-
visualize docker images and layers
-
discover which layer is shared by multiple images
-
built on top of docker-compose
-
Historisierung und Versionierung von deployments
-
rollback of container versions
-
https://github.com/CenturyLinkLabs/zodiac/blob/master/README.md
-
https://github.com/CenturyLinkLabs/watchtower/blob/master/README.md
-
docker pull centurylink/watchtower
-
open-source systems monitoring and alerting toolkit
-
https://labs.ctl.io/monitoring-docker-services-with-prometheus/
-
docker plugin to backup and restore container (convoy) volumes
-
http://rancher.com/introducing-convoy-a-docker-volume-driver-for-backup-and-recovery
- 20 mb linux distribution
- gesamte os läuft in docker containern
- an os made of containers
-
simple solution: dockerui
-
kubernetes
-
kitematic
-
panamax
-
rancher server
-
mesos
-
swarm
-
shipyard
docker run -d --restart=always -p 8080:8080 rancher/server
-
docker-bench-security
-
docklock
-
https://www.ctl.io/developers/blog/post/tutorial-protecting-sensitive-info-docker
-
updates in docker 1.10 (seccomp, usernamespaces, ...)
-
yubico https://www.yubico.com/why-yubico/for-businesses/developer-platforms/docker
-
notary (https://github.com/docker/notary)
- lets you encrypt your images and critical data
- https://github.com/rarchk/docklock
-
alias dl="docker ps -l -q" -> last container id
-
alias d="docker"
-
alias drm="docker rm"
-
alias dps="docker ps"
-
alias dpsas="docker ps -as"
-
alias dkd="docker run -d -P"
-
alias dockercleani='printf "\n>>> Deleting untagged images\n\n" && docker rmi $(docker images -q -f dangling=true)'
- /etc/bash_completion.d/ (yum install ...)
- wget bash docker
- remove all containers
drm -f $(dps -aq)
- start a stopped container and attach to it
function da () { docker start $1 && docker attach $1 }
- top der laufenden container
docker stats $(docker ps -q)
- Kill all running containers
docker kill $(docker ps -q)
- delete old containers
docker ps -a | grep 'weeks ago' | awk '{print $1}' | xargs docker rm
- delete danling images
docker rmi $(docker images -q -f dangling=true)
- reveal JS
- markdown syntax cheat: http://stationinthemetro.com/wp-content/uploads/2013/04/Markdown_Cheat_Sheet_v1-1.pdf
docker run -d -p 8000:8000 -v
/Users/nikomahle/Dockerfiles/mySlides:/revealjs/md amouat/revealjs:latest
- best simple UI: dockerui
docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock
dockerui/dockerui
docker run -d -p 5000:5000 registry
docker run -p 8080:8080 -e REG1=http://localhost:5000/v1/ -d atcol/docker-registry-ui
docker tag jenkins:1.596.2-8u45 localhost:5000/jenkins:1.596.2-8u45
docker push localhost:5000/jenkins:1.596.2-8u45
docker run -d -p 5000:5000 --restart=always --name registry registry:2
- start jenkins master
docker run -p 5555:8080 -p 50000:50000 -d -v
/Users/nikomahle/Dockerfiles/jenkins/jenkins-data:/var/jenkins_home nikom-jenkins:1.596.2-jdk7u79-1
- get slave.jar
wget http://hostname.de:8080/jnlpJars/slave.jar
- connect to jenkins master after manual adding of new node in jenkins master gui
wget http://hostname.de:8080/jnlpJars/slave.jar
-
otechlabs
-
devopsil
-
progrium
-
atmoz
RUN rm /etc/localtime && ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime
-
uses docker
-
uses buildstep (Heroku's open source buildpacks)
-
uses gitreceive
-
a git push starts building and starting a docker container
-
http://progrium.com/blog/2013/06/19/dokku-the-smallest-paas-implementation-youve-ever-seen
-
open source paas für selfhosting zwecke
-
stack: coreos + docker + heroku light workflow
-
deploy application mit git push (gitreceive)
-
includes Heroku buildpacks like dokku
-
Docker-based platform for developing, building and delivering applications as microservices, containers and in the cloud.
-
wercker workflow: develop, build, notify, deploy to docker hub, private registry
-
API call to a scheduler (such as Kubernetes or Mesosphere) to notify that there is a new version of a container image ready to be scheduled.
-
panamax (drag and drop management)
-
Lorry.io (docker-compose.yml validator and composer)
-
DRAY (docker workflow engine)
-
ImageLayers (visualize docker images and containers)
-
ZODIAC (deployment and rollback of docker apps)
-
watchtower (autom. detecting and restarting new cont. with new image)
-
registrator
-
progrium
-
megalith
- rancher server
- rancher os
-
Netflix Eureka
-
Netflix Ribbon
-
Netflix Hystrix
-
Service Discovery Server Netflix Eureka allows microservices to register themselves at runtime as they appear in the system landscape.
-
Dynamic Routing and Load Balancer Netflix Ribbon can be used by service consumers to lookup services at runtime. Ribbon uses the information available in Eureka to locate appropriate service instances. If more than one instance is found, Ribbon will apply load balancing to spread the requests over the available instances. Ribbon does not run as a separate service but instead as an embedded component in each service consumer.
-
Circuit breaker Netflix Hystrix provides circuit breaker capabilities to a service consumer. If a service doesn’t respond, Hystrix can redirect the call to an internal fallback method in the service consumer. If a service repeatedly fails to respond, Hystrix will open the circuit and fast fail (i.e. fallback method) on every subsequent call until the service is available again. To determine wether the service is available again Hystrix allow some requests to try out the service even if the circuit is open. Hystrix executes embedded within its service consumer.
-
Zuul is the front door for all requests from devices and web sites to the backend of the Netflix streaming application. As an edge service application, Zuul is built to enable dynamic routing, monitoring, resiliency and security. It also has the ability to route requests to multiple Amazon Auto Scaling Groups as appropriate.
- Ribbon is a client side IPC library that is battle-tested in cloud. It provides the following features Load balancing, Fault tolerance Multiple protocol (HTTP, TCP, UDP) support in an asynchronous and reactive model, Caching and batching
-
creating, combining, and modifying infrastructure
-
CAPS (Chef, Ansible, Puppet, Salt) are mainly for centrally controlling what lives inside a large number of instances. I.e. processes, files, etc.
-
terraform is mainly for creating instances themselves (and other cloud resources like load balancers etc).
-
codify entire infrastructures and datacenters into high-level abstractions for easier replication and management
-
https://www.scriptrock.com/articles/infrastructure-as-code-showdown-terraform-vs.-cloudformation
-
tool for creating machine images and deployable artifacts such as AMIs, OpenStack images, Docker containers, etc.
-
tool for cluster membership and failure detection. Consul uses Serf’s gossip protocol as the foundation for service discovery.
-
tool for managing development environments that mirror production
- unites Packer, Terraform, and Consul to make application delivery a versioned, auditable, repeatable, and collaborative process.
-
hosting dropbox files as static web pages
- https://ngrok.com
- secure tunnels to localhost
- expose a local web server to the public internet
- weave scope
- weave run
- weave net
- rhel 7 bzw. atomic host
- serverspec http://www.infrabricks.de/blog/2015/04/16/docker-container-mit-serverspetesten-teil-2/
- marathon (https://github.com/sloppyio/marathon)
- https://github.com/Yelp/dockersh
- https://cloud.google.com/container-engine/
- https://github.com/docktor/docktor
- Container Monitoring: https://sematext.com/blog/2016/06/28/top-docker-metrics-to-watch/?mkt_tok=eyJpIjoiWkRJNU5qSXhOVEkwWldKbSIsInQiOiJJZGVnbjVRN3g3dlluRUI3ZUJ6RVRPUVBRYjk0cmpmY3FGZDQ5QTNsMmJpVW5KcURhOUZXbnVPaEJ4QlwvbStJRkpJdlpjVVhTM3RmRFJXejdLZ1N3NUg2d0ZmK3I5THU5V2xrdTEyQnJibjA9In0%3D