rkt v1.4.0发布了。
Rocket (也叫 rkt)是 CoreOS 推出的一款容器引擎,和 Docker 类似,帮助开发者打包应用和依赖包到可移植容器中,简化搭环境等部署工作。Rocket 和 Docker 不同的地方在于,Rocket 没有 Docker 那些为企业用户提供的“友好功能”,比如云服务加速工具、集群系统等。反过来说,Rocket 想做的,是一个更纯粹的业界标准。
更新详情:
新特性和 UX changes
-
config: add config subcommand (#2405). This new subcommand prints the current rkt configuration. It can be used to get i.e. authentication credentials. See rkt's config subcommanddocumentation.
-
run: add
--user
/--group
app flags torkt run
andrkt prepare
allowing to override the user and group specified in the image manifest (#2419). -
gc: Add flag 'mark-only' to mark garbage pods without deleting them (#2400, #2402). This new flag moves exited/aborted pods to the exited-garbage/garbage directory but does not delete them. A third party application can use
rkt gc --mark-only=true
to mark exited pods as garbage without deleting them. -
kvm: Add support for app capabilities limitation (#2222). By default kvm flavor has got enabled every capability inside pod. This patch adds support for a restricted set of capabilities inside a kvm flavor of rkt.
-
stage1/init: return exit code 1 on error (#2383). On error, stage1/init was returning a non-zero value between 1 and 7. This change makes it return status code 1 only.
-
api: Add 'CreatedAt', 'StartedAt' in pod's info returned by api service. (#2377).
文档改进
-
functional tests: Add new test with systemd-proxyd (#2257). Adds a new test and documentation how to use systemd-proxyd with rkt pods.
Bug 修复
-
kvm: refactor volumes support (#2328). This allows users to share regular files as volumes in addition to directories.
-
kvm: fix rkt status (#2415). Fixes a regression bug were
rkt status
was no longer reporting the pid of the pod when using the kvm flavor. -
Build actool for the build architecture (#2372). Fixes a cross compilation issue with acbuild.
-
rkt: calculate real dataDir path (#2399). Fixes garbage collection when the data directory specified by
--dir
contains a symlink component. -
stage1/init: fix docker volume semantics (#2409). Fixes a bug in docker volume semantics when rkt runs with the option
--pod-manifest
. When a Docker image exposes a mount point that is not mounted by a host volume, Docker volume semantics expect the files in the directory to be available to the application. This was partially fixed in rkt 1.3.0 via #2315 but the bug remained when rkt runs with the option--pod-manifest
. This is now fully fixed. -
rkt/image: check that discovery labels match manifest labels (#2311).
-
store: fix multi process with multi goroutines race on db (#2391). This was a bug when multiple
rkt fetch
commands were executed concurrently. -
kvm: fix pid vs ppid usage (#2396). Fixes a bug in
rkt enter
in the kvm flavor causing an infinite loop. -
kvm: Fix connectivity issue in macvtap networks caused by macvlan NICs having incorrect names (#2181).
-
tests: TestRktListCreatedStarted: fix timing issue causing the test to fail on slow machines (#2366).
-
rkt/image: remove redundant quotes in an error message (#2379).
-
prepare: Support 'ondisk' verification skip as documented by the global options (#2376). Prior to this commit, rkt prepare would check the ondisk image even if the
--insecure-options=ondisk
flag was provided. This corrects that.
其他更新
-
tests: skip TestSocketProxyd when systemd-socket-proxyd is not installed (#2436).
-
tests: TestDockerVolumeSemantics: more tests with symlinks (#2394).
-
rkt: Improve build shell script used in continuous integration (#2394).
-
protobuf: generate code using a script (#2382).
-
Generate manpages (#2373). This adds support for generating rkt man pages using
make manpages
and the bash completion file usingmake bash-completion
, see the note for packagers below. -
tests/aws.sh: add test for Fedora 24 (#2340).
Note for packagers
Files generated from sources are no longer checked-in the git repository. Instead, packagers should build them:
-
Bash completion file, generated by
make bash-completion
-
Man pages, generated by
make manpages