12. Example of using Docker
4 build documentation in Sphinx with latex support
4 executing code in many different programming
languages without requiring a single compiler or
script interpreter on your machine - docker exec
4 running gui app in docker at linux
IPEX Meetup Brno, 9.3.2016 12
13. Example of using Docker
4 development without install ing many tools at local machine
4 Vagrant, Otto dev
4 continues integration using docker
4 Jenkins, TravisCI, CircleCI
4 DevOps platform for build, deploy and manage apps
across any cloud
IPEX Meetup Brno, 9.3.2016 13
29. Docker machine
4 Machine lets you create Docker hosts on your
computer, on cloud providers, and inside your own
data center.
4 part of Docker toolbox
4 replacement for boot2docker
IPEX Meetup Brno, 9.3.2016 29
30. Docker swarm
4 Docker Swarm is native clustering for
Docker.
4 Swarm serves the standard Docker
API, so any tool which already
communicates with a Docker daemon
can use Swarm to transparently scale
to multiple hosts: Dokku, Compose,
Krane, Flynn, Deis, DockerUI,
Shipyard, Drone, Jenkins... and, of
course, the Docker client itself.
IPEX Meetup Brno, 9.3.2016 30
42. wercker.yml example
# The container definition we want to use for developing our app
box: golang
# Defining the dev pipeline
dev:
steps:
- internal/watch:
code: |
go build ./...
./source
reload: true
IPEX Meetup Brno, 9.3.2016 42
44. Building a Go app for scratch
containers
build:
box: google/golang
steps:
# Test the project
- script:
name: go test
code: go test ./...
# Statically build the project
- script:
name: go build
code: CGO_ENABLED=0 go build -a -ldflags '-s' -installsuffix cgo -o app .
# Copy binary to a location that gets passed along to the deploy pipeline
- script:
name: copy binary
code: cp app "$WERCKER_OUTPUT_DIR"
IPEX Meetup Brno, 9.3.2016 44
45. Docker in AWS
4 Elastic Beanstalk
4 EC2 Container Service (ECS)
4 EC2 with Swarm, Mesos or Kubernetes
IPEX Meetup Brno, 9.3.2016 45
48. Apache Messos
4 Scalability to 10,000s of nodes
4 Fault-tolerant replicated master and slaves using ZooKeeper
4 Support for Docker containers
4 Native isolation between tasks with Linux Containers
4 Multi-resource scheduling (memory, CPU, disk, and ports)
4 Java, Python and C++ APIs for developing new parallel applications
4 Web UI for viewing cluster state
IPEX Meetup Brno, 9.3.2016 48
49. Notes at the end
4 don't use Docker as VM
4 build & production images
4 tag every image using in production (not just latest)
4 big difference between languages (NodeJS & Go)
4 don't use latest Docker versions in production
4 try use dockerlint for your Dockerfiles
IPEX Meetup Brno, 9.3.2016 49