4. docker
CoreOS use docker
docker contributor
etcd
A highly-available key value store
standalone
widespread adoption and use outside CoreOS itself
fleetd
A Distributed init System
9. composability
Unix philosophy
independent and composable
clean integration points
building images
running images
uploading
downloading
overlay networking
all compiled into one monolithic binary
running primarily as root on your server
central daemon
App Container Runtime
rkt - fetch/run/…
actool - build/validation/…
docker container -> docker platform
10. security
isolation
crypto
image auditing
application identity
Metadata Server
unique identity
signing
central daemon
docker process model - where everything runs through a
central daemon - is “fundamentally flawed”. so rewrite!
11. standard
standard specification
proposing a standard
app-container
tar/gzip/bzip2/xz/…
docker spec
App Container Image
The standard container manifesto was removed in docker.
12. discovery
simple
golang’s vanity URL convention
without running their own registry
alternative protocol
such BitTorrent
simple
docker hub
docker registry
App Container Discovery
simple & support alternative protocol
17. fly rocket!
$ mv sample.aci sample.tar # no type returned from DetectFileType issue
$ gzip sample.tar -c > sample.aci # use gzip
$ rkt run sample.aci
$ curl http://localhost:5000
or
$ rkt run https://github.com/subicura/sample-go-server/releases/download/
1.0.0/sample.aci
18. docker migration???
$ docker pull coreos/etcd
$ mkdir -p etcd/rootfs
$ cd etcd
$ docker run --name=etcd coreos/etcd
$ docker export etcd | sudo tar -x -C rootfs -f -
$ docker kill etcd
$ docker rm etcd
$ vi manifest.json
$ actool build --app-manifest manifest.json rootfs etcd.aci
$ mv etcd.aci etcd.tar # no type returned from DetectFileType issue
$ gzip etcd.tar -c > etcd.aci # use gzip
$ rkt run etcd.aci
$ curl http://localhost:4001/version