Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Schnelldurchlauf Docker

Schnelldurchlauf Docker

DevOps - Continuous Delivery mit Jenkins und Docker
JUG Saxony, 06. November 2014

Avatar for berndfischer63

berndfischer63

November 06, 2014
Tweet

More Decks by berndfischer63

Other Decks in Programming

Transcript

  1. Container'vs'VM' 06.11.2014' T)Systems'MMS'+'MindApproach'für'JUG'Saxony' 3' Virtual'Machine' App'A' RunIme' Guest'OS' App'B' RunIme'

    Hypervisor'/'Host'OS' Physical'Server' Docker' Docker' App'A' RunIme' App'A' RunIme' Docker'Engine' Host'OS' Physical'Server'
  2. Windows' Docker'Architecture' 06.11.2014' T)Systems'MMS'+'MindApproach'für'JUG'Saxony' 5' Docker'Client' Docker'Client' Mac'OS'X' Docker'Client' Docker'Host'(Linux)'

    Docker'Client' Docker'Daemon' RESTful'API' Socket' Docker'Container' Docker'Container' Docker'Container' Docker'Container'
  3. Development'with'Docker' 06.11.2014' T)Systems'MMS'+'MindApproach'für'JUG'Saxony' 22' docker build –tag=image_under_test .! docker run

    –name=c01 –d –P image_under_test! ! # do something more or less useful ! # aka testing! ! docker stop c01! docker rm c01!
  4. Private'Registry' •  docker'run'–d'–p'5000:5000'//name=repo' registry' •  docker'run'/d'/p'9080:8080'//name=repo/ui' atcol/docker/registry/ui' ' •  http://192.168.59.103:5000''

    •  http://192.168.59.103:5000/v1/search' •  http://192.168.59.103:9080/repository/index'' 06.11.2014' T)Systems'MMS'+'MindApproach'für'JUG'Saxony' 24'
  5. Linking'Containers' 06.11.2014' T)Systems'MMS'+'MindApproach'für'JUG'Saxony' 30' ))link=<source_container>:<alias>' ))link=mysql:mysql'' mysql::mysql' ' Environment)Variables:' '

    MYSQL_USER' MYSQL_PASSWORD' MYSQL_DATABASE' befi/jugdemo::jugdemo' ' Environment)Variables:' ' MYSQL_ENV_MYSQL_USER' MYSQL_ENV_MYSQL_PASSWORD' MYSQL_ENV_MYSQL_DATABASE' LINK'
  6. Vagrant'&'Docker' •  on'non)Linux)Systems'based'on'Boot2Docker' •  provider' – build'images'and'run'container' •  provisioning' – build'images'and'run'container' – install'Boot2Docker'…'

    •  Einbindung'in'den'“Arbeitszyklus”'nicht'sehr' effekIv'(vagrant'reload/provision)' ' 06.11.2014' T)Systems'MMS'+'MindApproach'für'JUG'Saxony' 36'
  7. Packer'&'Docker' •  build'and'handle'images'without'Dockerfiles' ' 06.11.2014' T)Systems'MMS'+'MindApproach'für'JUG'Saxony' 38' {! “type”: “docker”,!

    “image”: “ubuntu”,! “export_path”: “image.tar”! }{! “postprocessors”: [[! {! “type”: “docker-tag”, ! “repository”: “befi/packer”, “tag”: “0.1”! }! “docker-push”! ]]! }!
  8. Summary'for'Developer' •  fast'and'simple' •  bash'scripIng'should'be'your'friend'…'!' •  “plain”'Docker'for'simple'use'cases'only' •  separaIon'of'code'and'data/status' – Immutable'Infrastructure/Phoenix'Server'

    •  separaIon'of'funcIonality' – ApplicaIon,'Logging,'Backup,'…' •  microservices'…' 06.11.2014' T)Systems'MMS'+'MindApproach'für'JUG'Saxony' 40'
  9. CoreOS' •  minimal'OperaIng'System'(should'be'able'to'run' Docker'+'Container)' •  painless'UpdaIng' •  designed'for'Docker'Container' •  clustered'by'default'

    –  etcd,'systemd,'fleet' •  distributed'system'tools' –  distributed'locking,'master'elecIon' •  service'discovery' 06.11.2014' T)Systems'MMS'+'MindApproach'für'JUG'Saxony' 42'
  10. and'more'…' •  OpenStack'(i.e.'Ubuntu'Hypervisor)' •  CloudFoundry' •  Kubernetes' •  …' • 

    Partnerschayen'mit' – Microsoy,'' – Google'(Ankündigung'auf'Cloud)Konferenz),'' – …' 06.11.2014' T)Systems'MMS'+'MindApproach'für'JUG'Saxony' 43'