Update bundle.md
As we only have config.json in specs now. Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
This commit is contained in:
parent
f6313ebfaf
commit
8dc52a6461
2 changed files with 145 additions and 228 deletions
|
@ -25,8 +25,8 @@ message CreateContainerRequest {
|
|||
|
||||
## Attach
|
||||
|
||||
In order to have attach like functionality for your containers you use the same API request but named pipes or `fifo`s can be be used to achieve this type of functionality.
|
||||
The default CLI for containerd does this if you specify the `--attach` flag on `create`.
|
||||
In order to have attach like functionality for your containers you use the same API request but named pipes or `fifo`s can be used to achieve this type of functionality.
|
||||
The default CLI for containerd does this if you specify the `--attach` flag on `create` or `start`.
|
||||
It will create fifos for each of the containers stdio which the CLI can read and write to.
|
||||
This can be used to create an interactive session with the container, `bash` for example, or to have a blocking way to collect the container's STDIO and forward it to your logging facilities.
|
||||
|
||||
|
|
243
docs/bundle.md
243
docs/bundle.md
|
@ -49,34 +49,30 @@ cli tool from the [runc](https://github.com/opencontainers/runc) repository.
|
|||
|
||||
|
||||
You need to `cd` into the `redis` directory and run the `runc spec` command. After doing this you
|
||||
should have two files created, `configs.json` and `runtime.json`. The directory structure should
|
||||
look like this:
|
||||
should have a file `config.json` created. The directory structure should look like this:
|
||||
|
||||
```
|
||||
/containers/redis
|
||||
├── config.json
|
||||
├── rootfs/
|
||||
└── runtime.json
|
||||
└── rootfs/
|
||||
```
|
||||
|
||||
## Edits
|
||||
|
||||
We need to edit the config to add `redis-server` as the application to launch inside the container along with
|
||||
a few other settings. The resulting `config.json` should look like this:
|
||||
We need to edit the config to add `redis-server` as the application to launch inside the container,
|
||||
and remove the network namespace so that you can connect to the redis server on your system.
|
||||
The resulting `config.json` should look like this:
|
||||
|
||||
```json
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"ociVersion": "0.4.0",
|
||||
"platform": {
|
||||
"os": "linux",
|
||||
"arch": "amd64"
|
||||
},
|
||||
"process": {
|
||||
"terminal": false,
|
||||
"user": {
|
||||
"uid": 1000,
|
||||
"gid": 1000
|
||||
},
|
||||
"terminal": true,
|
||||
"user": {},
|
||||
"args": [
|
||||
"redis-server", "--bind", "0.0.0.0"
|
||||
],
|
||||
|
@ -84,39 +80,34 @@ a few other settings. The resulting `config.json` should look like this:
|
|||
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
||||
"TERM=xterm"
|
||||
],
|
||||
"cwd": ""
|
||||
},
|
||||
"root": {
|
||||
"path": "rootfs",
|
||||
"readonly": false
|
||||
},
|
||||
"hostname": "shell",
|
||||
"mounts": [
|
||||
{"name": "proc", "path": "/proc"},
|
||||
{"name": "dev", "path": "/dev"},
|
||||
{"name": "devpts", "path": "/dev/pts"},
|
||||
{"name": "shm", "path": "/dev/shm"},
|
||||
{"name": "mqueue", "path": "/dev/mqueue"},
|
||||
{"name": "sysfs", "path": "/sys"}
|
||||
],
|
||||
"linux": {
|
||||
"cwd": "/",
|
||||
"capabilities": [
|
||||
"CAP_AUDIT_WRITE",
|
||||
"CAP_KILL",
|
||||
"CAP_NET_BIND_SERVICE"
|
||||
]
|
||||
],
|
||||
"rlimits": [
|
||||
{
|
||||
"type": "RLIMIT_NOFILE",
|
||||
"hard": 1024,
|
||||
"soft": 1024
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
You will also want to edit the `runtime.json` file to remove the network namespace so that
|
||||
you can connect to the redis server on your system. The final result for the `runtime.json`
|
||||
file should look like this:
|
||||
|
||||
```json
|
||||
{
|
||||
"mounts": {
|
||||
"dev": {
|
||||
],
|
||||
"noNewPrivileges": true
|
||||
},
|
||||
"root": {
|
||||
"path": "rootfs",
|
||||
"readonly": true
|
||||
},
|
||||
"hostname": "runc",
|
||||
"mounts": [
|
||||
{
|
||||
"destination": "/proc",
|
||||
"type": "proc",
|
||||
"source": "proc"
|
||||
},
|
||||
{
|
||||
"destination": "/dev",
|
||||
"type": "tmpfs",
|
||||
"source": "tmpfs",
|
||||
"options": [
|
||||
|
@ -126,7 +117,8 @@ file should look like this:
|
|||
"size=65536k"
|
||||
]
|
||||
},
|
||||
"devpts": {
|
||||
{
|
||||
"destination": "/dev/pts",
|
||||
"type": "devpts",
|
||||
"source": "devpts",
|
||||
"options": [
|
||||
|
@ -138,21 +130,8 @@ file should look like this:
|
|||
"gid=5"
|
||||
]
|
||||
},
|
||||
"mqueue": {
|
||||
"type": "mqueue",
|
||||
"source": "mqueue",
|
||||
"options": [
|
||||
"nosuid",
|
||||
"noexec",
|
||||
"nodev"
|
||||
]
|
||||
},
|
||||
"proc": {
|
||||
"type": "proc",
|
||||
"source": "proc",
|
||||
"options": null
|
||||
},
|
||||
"shm": {
|
||||
{
|
||||
"destination": "/dev/shm",
|
||||
"type": "tmpfs",
|
||||
"source": "shm",
|
||||
"options": [
|
||||
|
@ -163,127 +142,65 @@ file should look like this:
|
|||
"size=65536k"
|
||||
]
|
||||
},
|
||||
"sysfs": {
|
||||
"type": "sysfs",
|
||||
"source": "sysfs",
|
||||
{
|
||||
"destination": "/dev/mqueue",
|
||||
"type": "mqueue",
|
||||
"source": "mqueue",
|
||||
"options": [
|
||||
"nosuid",
|
||||
"noexec",
|
||||
"nodev"
|
||||
]
|
||||
}
|
||||
},
|
||||
"linux": {
|
||||
"rlimits": [
|
||||
{
|
||||
"type": "RLIMIT_NOFILE",
|
||||
"hard": 1024,
|
||||
"soft": 1024
|
||||
"destination": "/sys",
|
||||
"type": "sysfs",
|
||||
"source": "sysfs",
|
||||
"options": [
|
||||
"nosuid",
|
||||
"noexec",
|
||||
"nodev",
|
||||
"ro"
|
||||
]
|
||||
},
|
||||
{
|
||||
"destination": "/sys/fs/cgroup",
|
||||
"type": "cgroup",
|
||||
"source": "cgroup",
|
||||
"options": [
|
||||
"nosuid",
|
||||
"noexec",
|
||||
"nodev",
|
||||
"relatime",
|
||||
"ro"
|
||||
]
|
||||
}
|
||||
],
|
||||
"hooks": {},
|
||||
"linux": {
|
||||
"resources": {
|
||||
"disableOOMKiller": false,
|
||||
"memory": {
|
||||
"limit": 0,
|
||||
"reservation": 0,
|
||||
"swap": 0,
|
||||
"kernel": 0
|
||||
},
|
||||
"cpu": {
|
||||
"shares": 0,
|
||||
"quota": 0,
|
||||
"period": 0,
|
||||
"realtimeRuntime": 0,
|
||||
"realtimePeriod": 0,
|
||||
"cpus": "",
|
||||
"mems": ""
|
||||
},
|
||||
"pids": {
|
||||
"limit": 0
|
||||
},
|
||||
"blockIO": {
|
||||
"blkioWeight": 0,
|
||||
"blkioLeafWeight": 0,
|
||||
"blkioWeightDevice": null,
|
||||
"blkioThrottleReadBpsDevice": null,
|
||||
"blkioThrottleWriteBpsDevice": null,
|
||||
"blkioThrottleReadIOPSDevice": null,
|
||||
"blkioThrottleWriteIOPSDevice": null
|
||||
},
|
||||
"hugepageLimits": null,
|
||||
"network": {
|
||||
"classId": "",
|
||||
"priorities": null
|
||||
}
|
||||
},
|
||||
"namespaces": [
|
||||
{"type": "pid", "path": ""},
|
||||
{"type": "ipc", "path": ""},
|
||||
{"type": "uts", "path": ""},
|
||||
{"type": "mount", "path": ""}
|
||||
],
|
||||
"devices": [
|
||||
{
|
||||
"path": "/dev/null",
|
||||
"type": 99,
|
||||
"major": 1,
|
||||
"minor": 3,
|
||||
"permissions": "rwm",
|
||||
"fileMode": 438,
|
||||
"uid": 0,
|
||||
"gid": 0
|
||||
},
|
||||
{
|
||||
"path": "/dev/random",
|
||||
"type": 99,
|
||||
"major": 1,
|
||||
"minor": 8,
|
||||
"permissions": "rwm",
|
||||
"fileMode": 438,
|
||||
"uid": 0,
|
||||
"gid": 0
|
||||
},
|
||||
{
|
||||
"path": "/dev/full",
|
||||
"type": 99,
|
||||
"major": 1,
|
||||
"minor": 7,
|
||||
"permissions": "rwm",
|
||||
"fileMode": 438,
|
||||
"uid": 0,
|
||||
"gid": 0
|
||||
},
|
||||
{
|
||||
"path": "/dev/tty",
|
||||
"type": 99,
|
||||
"major": 5,
|
||||
"minor": 0,
|
||||
"permissions": "rwm",
|
||||
"fileMode": 438,
|
||||
"uid": 0,
|
||||
"gid": 0
|
||||
},
|
||||
{
|
||||
"path": "/dev/zero",
|
||||
"type": 99,
|
||||
"major": 1,
|
||||
"minor": 5,
|
||||
"permissions": "rwm",
|
||||
"fileMode": 438,
|
||||
"uid": 0,
|
||||
"gid": 0
|
||||
},
|
||||
{
|
||||
"path": "/dev/urandom",
|
||||
"type": 99,
|
||||
"major": 1,
|
||||
"minor": 9,
|
||||
"permissions": "rwm",
|
||||
"fileMode": 438,
|
||||
"uid": 0,
|
||||
"gid": 0
|
||||
"allow": false,
|
||||
"access": "rwm"
|
||||
}
|
||||
]
|
||||
},
|
||||
"namespaces": [
|
||||
{
|
||||
"type": "pid"
|
||||
},
|
||||
{
|
||||
"type": "ipc"
|
||||
},
|
||||
{
|
||||
"type": "uts"
|
||||
},
|
||||
{
|
||||
"type": "mount"
|
||||
}
|
||||
],
|
||||
"devices": null
|
||||
}
|
||||
}
|
||||
```
|
||||
|
|
Loading…
Reference in a new issue