Skip to content
This repository has been archived by the owner on Feb 26, 2019. It is now read-only.

Commit

Permalink
merge branch 'pr-3'
Browse files Browse the repository at this point in the history
Closes #3
LGTMs: @hqhq @cyphar
  • Loading branch information
cyphar committed Dec 27, 2016
2 parents 0bd4bd6 + 4f14b24 commit 042ce69
Show file tree
Hide file tree
Showing 10 changed files with 119 additions and 66 deletions.
2 changes: 1 addition & 1 deletion config.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
baseurl = "https://runc.io"
languageCode = "en-us"
title = "Open Container Project"
title = "runC"
author = "Patrick Chanezon"
copyright = "Copyright (c) 2015, Linux Foundation"
canonifyurls = true
Expand Down
13 changes: 11 additions & 2 deletions content/about.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,17 @@
+++
date = "2015-06-10T19:03:22-07:00"
date = "2016-12-26T16:20:00+11:00"
title = "About"
+++

## About

The Open Container Project is an open governance structure for the express purpose of creating open industry standards around container formats and runtime. Projects associated to the Open Container Project can be found at [https://github.com/opencontainers](https://github.com/opencontainers). Contact the project maintainers on IRC at [#opencontainers](https://botbot.me/freenode/opencontainers/). Contact the Linux Foundation about the OCP at [[email protected]](mailto:[email protected]).
runC is the canonical implementation of a container runtime that implements the [Open Container Initiative's][oci] runtime specification.
It was originally donated by Docker in the form of `libcontainer`, and is now maintained by various individuals from different companies and interests.
runC is currently the standard container runtime used by the Docker engine, and is slowly being integrated into other projects.

The OCI is an open governance structure for the express purpose of creating open industry standards around container formats and runtime.
Projects associated to the Open Container Initiative can be found at [https://github.com/opencontainers](https://github.com/opencontainers).
Contact the project maintainers on IRC at [#opencontainers](https://botbot.me/freenode/opencontainers/).
Contact the Linux Foundation about the OCI at [[email protected]](mailto:[email protected]).

[oci]: https://opencontainers.org/
9 changes: 0 additions & 9 deletions content/charter.md

This file was deleted.

14 changes: 7 additions & 7 deletions content/extra.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
+++
date = "2015-06-07T19:03:22-07:00"
date = "2016-12-26T16:20:00+11:00"
title = "Extra"
include = "extra"
+++
Expand All @@ -8,18 +8,18 @@ include = "extra"

runC does not create a daemon, so it integrates well with systemd.

```
```systemd
[Unit]
Description=Minecraft Build Server
Documentation=http://minecraft.net
After=network.target
[Service]
CPUQuota=200%
MemoryLimit=1536M
ExecStart=/usr/local/bin/runc
Restart=on-failure
WorkingDirectory=/containers/minecraftbuild
Type=forking
ExecStart=/usr/local/sbin/runc run -d --pid-file /run/minecraft.pid minecraft-build-container
ExecStopPost=/usr/local/sbin/runc delete minecraft-build-container
WorkingDirectory=/opt/minecraft
PIDFile=/run/minecraft.pid
[Install]
WantedBy=multi-user.target
Expand Down
36 changes: 34 additions & 2 deletions content/faq.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,40 @@
+++
date = "2015-06-10T19:03:22-07:00"
date = "2016-12-26T16:45:00+11:00"
title = "FAQ"
+++

## FAQ

Coming soon.
### License

runC is free software, licensed under the [Apache 2.0 license][license] (as are all [OCI projects][oci]).
The source code is hosted on [GitHub][source].

### Reporting Bugs

If you've found a security issue, please **do not** submit a bug on our public bug tracker.
Instead, please send an email to [[email protected]][security-ml] with a clear description of the problem (preferably with a proof-of-concept).
We will work with you to confirm the severity of the security issue, write and approve a patch, as well as send alerts to distributions.

Otherwise, please submit a descriptive bug report to [our bug tracker][bugs].
It is preferred if the bug is reproducible, and if you provide information on your local environment.

### Feature Requests

As with bugs, please submit a detailed feature request to [our bug tracker][bugs].
It is recommended that the request be phrased as a proposal, with details about the reason for the feature and how it would be implemented.

### Sending Patches

We use [GitHub's pull request system][pulls] for reviewing and merging patches.
If your patch implements some significant functionality, or fixes a regression, please add appropriate unit or integration tests.
All patches submitted must undergo review by two maintainers of the project before being merged, so please be patient.
For more information, read the [`CONTRIBUTING.md`][contributing] file in the root of the runC source code.

[oci]: https://github.com/opencontainers
[license]: https://github.com/opencontainers/runc/blob/master/LICENSE
[source]: https://github.com/opencontainers/runc
[security-ml]: mailto:[email protected]
[bugs]: https://github.com/opencontainers/runc/issues
[pulls]: https://github.com/opencontainers/runc/pulls
[contributing]: https://github.com/opencontainers/runc/blob/master/CONTRIBUTING.md
53 changes: 40 additions & 13 deletions content/get-started.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,64 @@
+++
date = "2015-06-07T19:03:22-07:00"
date = "2016-12-26T14:45:30+11:00"
title = "Get Started"
include = "get-started"
+++

## Getting started

You can run Docker images pulled with Docker: first you need to run a container for that image, then export it's file system.
runC only requires a root filesystem and a configuration in order to start containers.

Creation and extraction of root filesystems is beyond the scope of runC, however you could use Docker to generate a filesystem for a runC container.

```
$ mkdir /tmp/myapp/rootfs
$ docker export myapp | tar xvfC - /tmp/myapp/rootfs
```

The OCI also defines an [image specification][oci-image], and there are a variety of tools that are available that also allow you to create a root filesystem using OCI images.
Examples of such tools include [oci-image-tools][oci-image-tools], [skopeo][skopeo], and [umoci][umoci].

```
$ docker export myapp > myapp.tar
$ tar xvf myapp.tar -C /tmp/myappfs
$ cd /tmp/myappfs
$ skopeo copy docker://busybox:latest oci:busybox:latest
$ oci-create-runtime-bundle busybox /tmp/myapp
$ umoci unpack --image busybox:latest /tmp/myapp
```

Or you can start with just a directory with a filesystem in it:
Or you can start with just a directory that has a root filesystem already in it:

```
$ ls myapp
$ ls /tmp/myapp/rootfs
bin etc lib linuxrc mnt proc run sys usr
dev home lib64 media opt root sbin tmp var
```

In that directory, create a manifest file for runC to run it, or let runC generate one for you.
In the parent directory, create an [OCI runtime configuration file][oci-runtime], or let runC generate one for you.

```
$ runc spec > container.json
$ cd /tmp/myapp
$ runc spec
$ ls
config.json rootfs
```

Edit container.json to specify the command you want to run inyour container, and any other options.
Edit the `config.json` to your liking, to specify the commands you would like to run, or any other options.
You can now run a container with runC.

Run the container!
```
$ runc run container-name
sh-4.4#
```

runC also supports the concept of creating and starting a container as separate operations.

```
$ runc
```
$ runc create container-name
$ # Do some further set up.
$ runc start container-name
```

[oci-image]: https://github.com/opencontainers/image-spec
[oci-runtime]: https://github.com/opencontainers/runtime-spec
[oci-image-tools]: https://github.com/opencontainers/image-tools
[skopeo]: https://github.com/projectatomic/skopeo
[umoci]: https://github.com/cyphar/umoci
19 changes: 19 additions & 0 deletions content/home.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
+++
date = "2016-12-26T15:00:00+11:00"
title = "About runC"
include = "home"
+++

## About runC

runC is a CLI tool for spawning and running containers according to the OCI specification.
The code can be found on <a href="https://github.com/opencontainers/runc">Github</a>.

### Embeddable
Containers are started as a child process of runC and can be embedded into various other systems without having to run a daemon.

### Battle Hardened
runC is built on libcontainer, the same container technology powering millions of Docker Engine installations.

### Unopinionated
runC does not force you to have a particular workflow or deployment setup, it only requires a root filesystem and configuration.
5 changes: 1 addition & 4 deletions layouts/_default/single.html
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
{{ partial "page-head.html" . }}

<div class="navbar white">
<div class="name"><a href="/">runC<span class="org">By Open Container Project</span></a></div>
<div class="name"><a href="/">runC<span class="org">By Open Container Initiative</span></a></div>
<div class="actions">
<div class="link">
<a href="{{.Site.BaseURL}}/about">About</a>
</div>
<div class="link">
<a href="{{.Site.BaseURL}}/faq">FAQ</a>
</div>
<div class="link">
<a href="{{.Site.BaseURL}}/charter">Charter</a>
</div>
</div>
</div>
<div class="content">
Expand Down
29 changes: 5 additions & 24 deletions layouts/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,17 @@

<div class="hero">
<div class="navbar">
<div class="name"><a href="/">runC<span class="org">By Open Container Project</span></a></div>
<div class="name"><a href="/">runC<span class="org">By the Open Container Initiative</span></a></div>
<div class="actions">
<div class="link">
<a href="{{.Site.BaseURL}}/about">About</a>
</div>
<div class="link">
<a href="{{.Site.BaseURL}}/faq">FAQ</a>
</div>
<div class="link">
<a href="{{.Site.BaseURL}}/charter">Charter</a>
</div>
</div>
</div>
<h3><img src="{{.Site.BaseURL}}/images/logo-open-container.png">Open Container Project</h3>
<h3><img src="{{.Site.BaseURL}}/images/logo-open-container.png">Open Container Initiative</h3>
<p>Announcing <strong>runC</strong> - a lightweight universal runtime container.</p>
<div class="hamster">
<img src="{{.Site.BaseURL}}/images/hamster.png">
Expand All @@ -24,25 +21,9 @@ <h3><img src="{{.Site.BaseURL}}/images/logo-open-container.png">Open Container P
<div class="content">
<div class="details">
<div class="wrapper-details">
<h2>About runC</h2>
<p>
runC is a CLI tool for spawning and running containers according to the
OCP specification. The code can be found on <a href="https://github.com/opencontainers/runc">Github</a>.
</p>
<div class="points">
<div class="point">
<h3>Embeddable</h3>
<p>Containers are started as a child process of runC and can be embedded into various other systems without having to run a Docker daemon.</p>
</div>
<div class="point">
<h3>Battle Hardened</h3>
<p>runC is built on libcontainer, the same container technology powering millions of Docker Engine installations.</p>
</div>
<div class="point">
<h3>Compatible with Docker</h3>
<p>Docker images can be run with runC.</p>
</div>
</div>
{{ range first 1 (where .Data.Pages "Params.include" "home") }}
{{ .Content }}
{{ end }}
</div>
</div>
<div class="terminal">
Expand Down
5 changes: 1 addition & 4 deletions layouts/partials/footer.html
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
<div class="footer">
<h3><img src="{{.Site.BaseURL}}/images/logo-open-container.png">Open Container Project</h3>
<h3><img src="{{.Site.BaseURL}}/images/logo-open-container.png">Open Container Initiative</h3>
<div class="footer-links">
<div class="link">
<a href="{{.Site.BaseURL}}/about">About</a>
</div>
<div class="link">
<a href="{{.Site.BaseURL}}/faq">FAQ</a>
</div>
<div class="link">
<a href="{{.Site.BaseURL}}/charter">Charter</a>
</div>
</div>
<div class="copyright">
{{.Site.Copyright}}
Expand Down

0 comments on commit 042ce69

Please sign in to comment.