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

Docker Desktop Entreprise: Docker Lyon Meetup 0...

Avatar for Docker Docker
February 12, 2019

Docker Desktop Entreprise: Docker Lyon Meetup 02/19

- Présentation par l'équipe d'ingenierie de Docker Paris:
- Présentation de Docker Desktop Enterprise
- Comment on build / teste docker desktop
- Quelques infos sur la roadmap Docker

Avatar for Docker

Docker

February 12, 2019
Tweet

More Decks by Docker

Other Decks in Technology

Transcript

  1. Desktop architecture with Kubernetes LinuxKit VM HOST Networking File Sharing

    Containerd Docker Engine Docker Cli Hypervisor Kubelet Kubernetes containers kubectl App containers
  2. Docker Desktop Enterprise FOR DEVS FOR OPS Mass installation Customize

    default settings Mirror production to desktops Switch engine version Start docker projects in minutes Container expertise not required
  3. Switching version packs LinuxKit VM HOST Networking File Sharing Containerd

    Docker Engine Docker Cli Hypervisor Kubelet Kubernetes containers kubectl App containers
  4. Administrator settings • Admins can choose default settings for Docker

    Desktop ◦ Eg. where to store VM disks, proxy settings… ◦ Also daemon settings • Some settings can be locked by admins
  5. Docker Desktop versions comparison Community Enterprise Latest Docker Engine Certified

    Kubernetes Available for Windows 10 and macOS Install using PKG and MSI packages, easy roll-out at scale Restrict parts of configuration to administrators only Switch Docker and Kubernetes versions to match production Simplified tools for creating new Docker applications Technical Support SLA
  6. Testing Docker Desktop • Unit tests specific to language ◦

    Swift, golang, c#... • Desktop involves many processes ◦ Virtual machine ◦ Vpnkit, proxy running on the host ◦ Inside the VM : dockerd, kubelet • Need for End to end tests
  7. The kind of end-to-end tests we do • Install Docker

    Desktop, start it, run docker containers • Change settings (CPU, memory allocated to the VM, change VM disk path) and restart Docker Desktop • Start Kubernetes cluster, deploy application exposing ports LinuxKit VM HOST Networking File Sharing Containerd Docker Engine Docker Cli Hypervisor Kubelet Kubernetes containers kubectl App containers
  8. Some tests that are harder to automate • Desktop detects

    if the Hyper-V feature is enabled on Windows, and suggests to enable it if necessary • To test it : ◦ Disable Hyper-V on Windows (reboot needed) ◦ Install & start Docker Desktop, it will prompt the user to install it (requires elevation) ◦ Reboot & restart Docker Desktop
  9. CI Node Virtual Machine Testing Docker Desktop in virtual machines...

    LinuxKit VM Networking File Sharing Containerd Docker Engine Docker Cli Hypervisor Kubelet Kubernetes containers kubectl App containers Jenkins Slave Tests … Does not work
  10. Testing Windows and Mac app 9 OS versions Community +

    Enterprise x x 3 version packs = 54 environments Cannot use Virtual Machines Need to install specific versions of windows 10 pro & OSX Time consuming and CPU intensive
  11. How it is built - solution ~100 builds triggered daily

    ~24k tests running daily Validation of a master commit in ~2 hours on all platforms 73 dedicated machines
  12. File sharing • Filesharing performance ◦ Raw performance ◦ Specific

    use cases : Develop PHP or ruby in containers is a pain • Windows ◦ Samba is often blocked (security constraints) ◦ Difficult to improve performance without changing architecture
  13. What’s coming - Plugins • Ability to add features in

    the docker cli ◦ https://github.com/docker/app to help make Compose files more reusable and shareable. docker-app init --single-file hello ◦ Integrate docker or other external projects as plugins docker app init --single-file hello