CoreOS VM is macOS status bar app
which allows in an easy way to control CoreOS VM on your Mac.
It leverages macOS native Hypervisor virtualisation framework of using corectl command line tool, so there are no needs to use VirtualBox or any other virtualisation software anymore.
The best use case of this App is to allow to build/test Docker and rkt images locally.
You can push your Docker images to Docker Registry on 192.168.64.1:5000
run by Corectl App, to store
your Docker images and share with Kubernetes Apps for macOS: Kube-solo and Kube-Cluster
App's menu looks as per image below:
corectld
server daemon control.latest dmg
from the Releases Page and install it to /Applications
folder, it allows to start/stop/update corectl tools needed to run CoreOS VMs on macOSCoreOS latest.dmg
from the Releases Page. Open downloaded dmg
file and drag the App e.g. to your Desktop. Start the CoreOS
app and Initial setup
will beggin.TL;DR
~/coreos-osx
folder~/.coreos/images
folder/Users/my_user
:/Users/my_user
on each VM bootdocker
client is installed to ~/coreos-osx/bin
and preset in OS shell
to be used from therecorevm
cli as well. Cli resides in ~/coreos-osx/bin
folder and has simple commands: corevm start|stop|status|ip|shell|ssh
, it is specially handy for automation tasks. Just copy the corevm
to your pre-set path.The install will do the following:
coreos-osx
folder in the user's home folder e.g /Users/someuser/coreos-osx
~/.coreos/images
That allows to share the same images between different corectl
based Apps and also speeds up this App VMs reinstallcorectl
to initialise VM with docker 2375 port pre-set for docker macOS clientdocker
macOS client to ~/coreos-osx/bin/
rkt
will be installed to ~/coreos-osx/bin/
which allows to call via ssh remote rkt
binary on CoreOS VMetcdctl
will be installed to ~/coreos-osx/bin/
which allows to call via ssh remote etcdctl
binary on CoreOS VMdocker-exec
script (docker exec -it $1 bash -c 'export TERM=xterm && bash') will be installed
into ~/coreos-osx/bin/
too, which allows to enter container with just a simple command:
docker-exec container_name docker2aci
binary will be installed to ~/coreos-osx/bin/
, which allows to convert docker images to rkt
aci images--insecure-registry
to access insecure registries.data.img
will be created and mounted to /data
for these mount binds:/data/var/lib/docker -> /var/lib/docker
/data/var/lib/rkt -> /var/lib/rkt
/data/var/lib/etcd2 -> /var/lib/etcd2
/data/opt/bin -> /opt/bin
Just start CoreOS OSX
application and you will find a small icon with the CoreOS logo in the Status Bar.
Up
and Halt
CoreOS VMSSH to core-01
will open VM shellUp
OS Shell will be opened when VM boot finishes up and it will have such environment pre-set:DOCKER_HOST=tcp://192.168.64.xxx:2375
ETCDCTL_PEERS=http://192.168.64.xxx:2379
Path to `~/coreos-osx/bin` where docker binary, rkt, etcdclt
and docker-exec shell scripts are stored
OS Shell
opens OS Shell with the same enviroment preset as Up
Updates/Check for update of docker macOS client
will update fleet and docker macOS clients to the same versions as CoreOS VM runs.~/coreos-osx/docker_images
folder via Upload docker images
data.img
will be created and mounted to /data
to these mount binds (data persists between reboots):/data/var/lib/docker -> /var/lib/docker
/data/var/lib/rkt -> /var/lib/rkt
/data/var/lib/etcd2 -> /var/lib/etcd2
/data/opt/bin -> /opt/bin
CoreOS VM is an open source project release under the Apache License, Version 2.0, hence contributions and suggestions are gladly welcomed!