开源软件名称:railcar
开源软件地址:https://gitee.com/mirrors/railcar
开源软件介绍:
railcar - rust implementation of the oci-runtime spec
What is railcar ?railcar is a rust implementation of the opencontainersinitiative's runtimespec. It is similar to thereference implementation runc , but it is implemented completely in rust formemory safety without needing the overhead of a garbage collector or multiplethreads. For more information on the development of railcar, check outBuilding a Container Runtime inRust
Building railcar
Install rust: curl https://sh.rustup.rs -sSf | shcargo install cargo-whenrustup toolchain install stable-x86_64-unknown-linux-gnurustup default stable-x86_64-unknown-linux-gnu # for stablerustup target install x86_64-unknown-linux-musl # for stablerustup toolchain install nightly-x86_64-unknown-linux-gnurustup default nightly-x86_64-unknown-linux-gnu # for nightlyrustup target install x86_64-unknown-linux-musl # for nightly Building can be done via build.sh: By default, build.sh builds a dynamic binary using gnu. To build a staticbinary, set TARGET to x86_64-unknown-linux-musl : TARGET=x86_64-unknown-linux-musl ./build.sh Build requirements for TARGET=x86_64-unknown-linux-gnu: Build requirements for TARGET=x86_64-unknown-linux-musl: git submodule update --initautotoolsmakegccmusl-gcc To build a release version: If you build using stable instead of nightly, the set_name feature will bedisabled and the init process inside the container will not be named rc-initwhen viewed via ps or /proc/$pid/cmdline. Using railcar You can specify a different bundle directory where your config.json islocated with -b: ./railcar -b /some/other/directory run Using railcar with dockerrailcar can be used as a backend for docker. To use it, start the dockerdaemon with an additional backend:
dockerd ... --experimental --add-runtime "rc=/path/to/railcar" Then you can use railcar by specifying the rc backend: docker run -it --rm --runtime rc hello Note that you should start the daemon with a terminal (the -t option) so thatdocker can properly collect stdout and stderr from railcar . If you want todaemonize the container, just use: docker run -dt --rm --runtime rc hello Differences from runc In general, railcar is very similar to runc , but some of the runc commands are not supported. Currently, railcar does not support the followingcommands: checkpoint events exec init list pause restore resume spec Also, railcar always runs an init process separately from the containerprocess. Contributingrailcar is an open source project. See CONTRIBUTING fordetails.
Oracle gratefully acknowledges the contributions to railcar that have been madeby the community. Getting in touchThe best way to get in touch is Slack. Click here to join the the Oracle Container Tools workspace. Then join the Railcar channel. LicenseCopyright (c) 2017, Oracle and/or its affiliates. All rights reserved. railcar is dual licensed under the Universal Permissive License 1.0 and theApache License 2.0.
See LICENSE for more details. |
请发表评论