Skip to content
containerd 1.0.0-alpha4

With this weeks release, we are starting to become more stable. Many
fixes related to rounding out core features and usability. We have our
first documentation available, oriented towards getting started with
containerd.

This is the first release where we have no backwards incompatible
changes to the GRPC API. There are some changes to the metadata storage
layout, so please check upgrading for details.

Please download the binaries provided and let the bears get at 'em.
Please report issues through
https://github.com/containerd/containerd/issues. Your feedback is
extremely important at this stage, so please don't be bashful about
letting us know what you think.

Upgrading

With respect to the GRPC API, there have only been additions to add
labels to snapshot. All existing integrations should continue working
with this release without changes.

The storage format has had some changes to store labels and runc state
has been relocated. Removing the contents of `/var/lib/containerd` is
recommend before running this new version. This will cause loss of
containers and image data. Let us know if this is a problem.

Documentation

We now have guides for [Getting
Started](https://github.com/containerd/containerd/blob/master/docs/getting-started.md),
[Operations](https://github.com/containerd/containerd/blob/master/docs/ops.md)
and [Namespacing and
Multi-tenancy](https://github.com/containerd/containerd/blob/master/docs/namespaces.md).
Please take some time to read them and get to know containerd.

The [godoc](https://godoc.org/github.com/containerd/containerd) has also
been updated with new descriptions.

Snapshot Labels

Snapshots can now be decorated with labels on `Prepare`, `Commit` and
`Update`. This is useful to associated snapshots with various components
in containerd.

Snapshot Command

The arguments naming and order now correctly match the `Snapshotter`
interface. Ordering of arguments may be affected. Make sure to use the
help before using these commands if you are unsure.

State Directory

The runtime state directory has been brought back. Previously, this
stored ephemeral container data associated with running containers. It
was removed because checkpoint data was much too large for `tmpfs` used
for the the `/run` directory. The checkpoint data is now in the main
containerd directory, while the ephemeral data resides in
`/run/containerd`. Access performance for `runc` should increase and old
runtime data should be cleaned up on reboot with this change.

API stability

Tooling for GRPC API stability has been added. When protobufs are
built, the descriptors for the entire symbol set that make up the API
are aggregated into a single file. Changes that affect the API will show
in these files, making it much easier to identify differences that
aren't apparent in proto files. At each minor release, these files will
be snapshotted.

Go API Additions

While there are several changes to the Go API, a few highlights include
an option to kill the process process on delete, `WithProcessKill` and
the ability to set the cgroup path and hostname options on the the runc
specification.

Solaris Build Support

The project now builds on solaris.

Contributors

A special thanks to all those that contributed to this release:

Akihiro Suda
Edward Pilatowicz
Kenfe-Mickaël Laventure
Lantao Liu
Michael Crosby
Phil Estes
Stephen J Day
Tobias Klauser
Yanqiang Miao

Changes

56d499e1 Merge pull request #1335 from stevvooe/alpha4
875672ef release: prepare for 1.0.0-alpha4
70c2d367 Merge pull request #1328 from crosbymichael/ctr-runtime
a888587c Set runtime on container from ctr
258c719c Merge pull request #1327 from estesp/namespace-doc-fixes
f90fa4e1 Minor updates to the namespaces doc
7ddd6ad9 Merge pull request #1316 from crosbymichael/namespaces
7a40eaab Add namespace doc for containerd
921b830b Merge pull request #1322 from stevvooe/easy-install
17d7a5c6 Merge pull request #1321 from
stevvooe/refactor-snapshot-commands
67954062 Merge pull request #1326 from Random-Liu/fix-typo
debd07fc Minor typo fix.
7717eb6f Makefile: simplify installation from tar file
cea1d337 cmd/snapshot: follow conventions from Snapshotter
e6ba48f2 Merge pull request #1257 from stevvooe/content-changes
8be340e3 content: remove Provider.Reader
f3ff1e22 Merge pull request #1315 from crosbymichael/lchown
1f6b10b6 Use lchown when remapping rootfs
ef344c14 Merge pull request #1312 from tklauser/use-x-sys
f2bed8ff Use CopyFileRange from golang.org/x/sys/unix
4a6a2b9d Switch from package syscall to golang.org/x/sys
29a4dd7f Merge pull request #1276 from dmcgowan/snapshot-labels
ee027d4e Merge pull request #1309 from crosbymichael/opts-doc
67572b63 Merge pull request #1307 from crosbymichael/spec-opts
bed8df11 Add cgroup paths and hostname spec opts
1907116b Add doc for extending client opts
1f04edda Merge pull request #1306 from estesp/error-no-container
8ebbd1cd Delete command should require at least one container ID
42c1c9a9 Merge pull request #1301 from crosbymichael/task-force
d8c075aa Add WithProcessKill DeleteOpt
d4be9822 Merge pull request #1303 from estesp/cleanup-workdir
a2add745 Merge pull request #1302 from dmcgowan/fix-blob-by-tag-attempt
c8cd3d90 Fix bundle removal with the reappearance of state dir
2b0aa29c Avoid attemping blobs endpoint when digest is not provided
738c22a7 Merge pull request #1299 from crosbymichael/ctr
cdd03c98 Merge pull request #1300 from crosbymichael/ops
2fb2168b Merge pull request #1224 from epilatow/solaris.cc.20170719.0
56c1f5c1 Add solaris build support
00288bcb Update ctr containers and tasks command
a543d057 Add ops guide for containerd
f2ba04ff Set subreaper true in default linux config
e9b86af8 Merge pull request #1283 from mlaventure/resurrect-state-dir
fc941088 Merge pull request #1294 from crosbymichael/gettingstarted
b20fd92a Merge pull request #1298 from miaoyq/add-start-cmd
60f7eee2 Merge pull request #1275 from mlaventure/travis-ineffassign
a88397e9 Merge pull request #1296 from stevvooe/api-stability-tooling
d6c171ea Add getting started guide
ac72bbab Add `start` subcommand in `ctr`.
a73eb2b2 api: generate merged descriptors when building protobufs
e8625bcd Merge pull request #1295 from mlaventure/separate-client-opts
de7afd8a Merge pull request #1293 from dmcgowan/fix-snapshotter-run
56b18c1d Move client's options to separate files
5a74a46d Fix bug where snapshots got created with wrong snapshotter
6c1a04f3 Merge pull request #1292 from stevvooe/cleanup-protobuf-imports
bf913547 Merge pull request #1290 from Random-Liu/cleanup-io-properly
d986a187 api: cleanup protobuf imports
73735c4d Cleanup FIFOs on error.
bb39d1d9 Merge pull request #1289 from mlaventure/add-missing-return
308ebe7e Add missing return when failing to write tar header
99315f8e Merge pull request #1285 from crosbymichael/client-godoc
bce8fe7b Merge pull request #1288 from
mlaventure/dont-touch-grpclog-in-client
2eaf9117 Merge pull request #1279 from Random-Liu/cancel-context-on-wait
16f6e094 Do not touch grpc logger from within the packages
8fae8a5b Cancel event subscribe context in Wait.
0a85f6e4 Update godoc for client package
7e006332 Merge pull request #1282 from
AkihiroSuda/dismiss-progressbar-on-debug
ff15d18f Merge pull request #1287 from crosbymichael/exitstatus
0e97bdfe Merge pull request #1284 from mlaventure/use-tmp-console-socket
fdc5a475 Gate task.Wait status check on checkpoints
8700e23a Use root dir when storing temporary checkpoint data
9f13b414 Return exit status from Wait of stopped process
fbe4751b Use a temp socket to receive the console from runc
642620ca Resurrect State directory
829845d2 Fix ineffassign warnings
b45fb985 ctr: dismiss progressbar on --debug
534a137e vendor: update github.com/containerd/console
949d4903 vendor: update golang.org/x/sys
47637f2a vendor: update github.com/containerd/continuity
be36d26e Update windows snapshotter
24783b9e Add snapshot test suite for update
efca0c53 Update GRPC api to support labels and snapshot updates
55c3711f Update snapshot metadata to support labels
7d3a1e77 Add snapshot labels
ad72036e Refactor common boltdb fields to subpackage
78933003 Invoke ineffassign during CI
9526f536 Remove Windows cross compile from Travis