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

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'