1. Docker
Rex Docker Con 2017
Guillaume Bizet
Solution Architect @ Finaxys
gbizet@finaxys.com
2. Keynote
“Multi-stage builds” :With multi-stage builds you can now easily separate your build-time and runtime container images,
allowing development teams to ship minimal and efficient images.
LinuxKit :LinuxKit includes the tooling to allow building custom Linux subsystems that only include exactly the
components the runtime platform requires. All system services are containers that can be replaced, and everything that is
not required can be removed. All components can be substituted with ones that match specific needs. It is a kit, very
much in the Docker philosophy of batteries included but swappable
Hyper-V pour linux : Microsoft HyperV now support isolation for Linux Containers !
Oracle is now on Docker store ! Certified and free for dev versions !
Modernize Traditional Applications (MTA) Program
Image2docker
3. Keynote … Huge !
•At the core of Moby is a framework to assemble specialized container systems. It
provides:
•A library of containerized components for all vital aspects of a container system: OS,
container runtime, orchestration, infrastructure management, networking, storage,
security, build, image distribution, etc.
•Tools to assemble the components into runnable artifacts for a variety of platforms and
architectures: bare metal (both x86 and Arm); executables for Linux, Mac and Windows;
VM images for popular cloud and virtualization providers.
•A set of reference assemblies which can be used as-is, modified, or used as inspiration to
create your own.
•All Moby components are containers, so creating new components is as easy as building
a new OCI-compatible container.
https://github.com/moby/moby
4. Solomon explains with 2 pics
See also : https://blog.docker.com/2017/04/introducing-the-moby-project/
5. How to rebuild docker (windows)?
•https://github.com/moby/moby/blob/master/Dockerfile.windows
• Build the docker executable binaries by running one of the following:
•# >> $DOCKER_GITCOMMIT=(git rev-parse --short HEAD)
•# >> docker run --name binaries -e DOCKER_GITCOMMIT=$DOCKER_GITCOMMIT
nativebuildimage hackmake.ps1 -Binary
•# >> docker run --name binaries -e DOCKER_GITCOMMIT=$DOCKER_GITCOMMIT
-m 2GB nativebuildimage hackmake.ps1 -Binary (if using Hyper-V containers)
•And Voila !
7. A quick hands-on with and
•git clone https://github.com/linuxkit/linuxkit.git
•docker run --rm -v D:SRClinuxkit:/app -v
"/var/run/docker.sock:/var/run/docker.sock" pottava/moby build
linuxkit.yml
8. A quick hands-on with and
•docker run --rm -v D:SRClinuxkit:/app -it pottava/moby run linuxkit
9. The yml behind !
•https://raw.githubusercontent.com/linuxkit/linuxkit/master/linuxkit.yml
•What if you want change the output ?
•Inital yml have and the build make this
•outputs:
• - format: kernel+initrd
• - format: iso-bios
• - format: iso-efi
11. Image2docker ?
•Image2Docker is a Powershell module that you can point at a virtual hard disk image,
scan for common Windows components and suggest a Dockerfile.
•Supported Artifacts
•This project currently supports discovery of the following artifacts:
•Microsoft Windows Server Roles and Features
•Microsoft Windows Add/Remove Programs (ARP)
•Microsoft Windows Server Domain Name Server (DNS)
•Microsoft Windows Internet Information Services (IIS)
–HTTP Handlers in IIS configuration
–IIS Websites and filesystem paths
–ASP.NET web applications
•Microsoft SQL Server instances
•Apache Web Server