Human Factors of XR: Using Human Factors to Design XR Systems
Intro- Docker Native for OSX and Windows
1. Using Docker Natively
Windows & Mac OSX
4th June 2016, Docker for Developer Meetup,
@Calm.io, Bangalore
Thomas Chacko
thomasch@iconnexions.com
2. Docker on various development OS
LINUX WINDOWS Mac OS X
Docker Toolbox
Client Native install on
i686/Linux
Win >7 x64 with HVT/Virt Enabled
Mac OS X >10.8 ( /usr/local/bin )
Docker Toolbox app – installs Docker Client, Engine , Compose, Machine,
Kitematic, Quickstart Terminal App
Engine ,, Installs Oracle Virtual Box 5.x if not present.
docker-machine creates boot2docker Linux with ‘default’ VM
& installs Docker engine on top
Docker Native App
Client Native install on
i686/Linux
Win 10 x64 Prof, Ent, Edu build
>10586 with Hyper-V
Register for beta invite,
InstallDocker.msi (Beta14) installs
- Docker Client
- Docker Engine
- Docker Compose
- Docker Machine
- Notary
>= 2010 model Mac with MMU/EPT,
OSX 10.10.3 Yosemite/4GB Ram
Register for beta invite, Docker.dmg
(Beta13) installs
- Docker Client
- Docker Engine
- Docker Compose
- Docker Machine
- Notary
Engine ,, Win 10 native Hyper-V creates a
MobyLinux VM and hosts Docker
engine on top
creates virtual switch (DockerNAT) on
10.0.75.0/24 prefix
Thin xhyve hypervisor customized for
Docker workload. Moby Alpha (Alphine
Linux) on top hosts Docker engine
3. Docker Native – benefits and limitations
• One-click/drag install. Native Applications for both OS X and Win. Leveraging native
capabilities ( virtualization, network and filesystem ). Sandbox friendly - non root
process. Auto updates . Uses OS native hypervisors (h/w virt extensions) and
Linux VMs on top optimized for fast boot and stateless operation for containers.
Integrates seamlessly in Docker centric dev workflow - faster code iteration.
• Efficient volume mounting using native OS file/resource sharing between
hosts/container:
• osxfs engine, provides near native bind mounting of OS X file system to
containers
• Shared local Win drive for sharing code and data with containers.
• binfmt_misc multi-architecture out-of-box. Support for developing apps with
containers running on multiple architecture of x86/x64 linux such as arm, mips,
ppc64le, s390x. Build IOT containers e.g. for RPi (ARM ) directly on an Intel Mac.
• Networking – ‘nat mode’ : port fwd on windows ( http://docker ) , OS X (
http://localhost ). DNS Server for container. DockerNAT switch on Hyper-V on
10.0.75.0/24 subnet. Experimental VPN (hostnet mode) . Docker networking just as
in Toolbox.
• Logging and diagnose , console (syslog) for OSX, pinata diagnose/doctor
• Limitations : Beta Beta Beta Beta ! . Win Hyper-V cannot run together with
VirtualBox or Vmware . Only 1 VM ( no local Docker swarm )
4. Demo Time
• Preliminary check
$ docker info
$ docker version
• Basic image and container operations
$ docker run –it ubuntu bash
$ docker run -d -p 80:80 --name webserver nginx
$ docker run -it alpine sh
• Local fs volume bind
$ docker run -d -p 8080:80 -v `pwd`:/usr/share/nginx/html —name web
server nginx
• Multi-CPU arch support
$ docker run resin/armv7hf-debian uname -a
$ docker run justincormack/ppc64le-debian uname -a
5. Additional slide : docker toolbox vs native
log into the Moby alpha VM :
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty