mirror of
https://github.com/containers/youki
synced 2024-11-23 01:11:58 +01:00
fix tutorial in readme
This commit is contained in:
parent
14856066b1
commit
bc69788d79
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,6 +1,8 @@
|
||||
youki
|
||||
|
||||
/tutorial
|
||||
/rootfs
|
||||
|
||||
.idea/
|
||||
|
||||
**/target
|
||||
@ -9,4 +11,6 @@ youki
|
||||
tags
|
||||
tags.lock
|
||||
tags.temp
|
||||
/config.json
|
||||
|
||||
|
||||
|
49
README.md
49
README.md
@ -90,32 +90,52 @@ $ ./youki -h # you can get information about youki command
|
||||
|
||||
## Tutorial
|
||||
|
||||
Let's try to run a container that executes `sleep 5` using youki.
|
||||
Maybe this tutorial is need permission as root.
|
||||
Let's try to run a container that executes `sleep 30` with youki. This tutorial may need root permission.
|
||||
|
||||
```sh
|
||||
$ git clone git@github.com:containers/youki.git
|
||||
$ cd youki
|
||||
$ ./build.sh
|
||||
$ mkdir tutorial
|
||||
$ cd tutorial
|
||||
|
||||
$ mkdir rootfs
|
||||
|
||||
# use docker to export busybox into the rootfs directory
|
||||
$ docker export $(docker create busybox) | tar -C rootfs -xvf -
|
||||
```
|
||||
|
||||
Prepare a configuration file for the container that will run `sleep 5`.
|
||||
Then, we need to prepare a configuration file. This file contains metadata and specs for a container, such as the process to run, environment variables to inject, sandboxing features to use, etc.
|
||||
|
||||
```sh
|
||||
$ curl https://gist.githubusercontent.com/utam0k/8ab419996633066eaf53ac9c66d962e7/raw/e81548f591f26ec03d85ce38b0443144573b4cf6/config.json -o config.json
|
||||
$ cd ../
|
||||
$ ./youki create -b tutorial tutorial_container
|
||||
$ ./youki state tutorial_container # You can see the state the container is in as it is being generate.
|
||||
$ ./youki start tutorial_container
|
||||
$ ./youki state tutorial_container # Run it within 5 seconds to see the running container.
|
||||
$ ./youki delete tutorial_container # Run it after the container is finished running.
|
||||
$ ./youki spec # will generate a spec file named config.json
|
||||
```
|
||||
|
||||
Change the command to be executed in config.json and try something other than `sleep 5`.
|
||||
We can edit the `config.json` to add customized behaviors for container. Here, we modify the `process` field to run `sleep 30`.
|
||||
|
||||
```json
|
||||
"process": {
|
||||
"terminal": true,
|
||||
"user": {
|
||||
"uid": 0,
|
||||
"gid": 0
|
||||
},
|
||||
"args": [
|
||||
"sleep", "30"
|
||||
],
|
||||
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
Then we can explore the lifecycle of a container:
|
||||
```sh
|
||||
$ sudo ./youki create first-container # create a container with name `first-container`
|
||||
$ sudo ./youki state first-container # you can see the state the container is `created`
|
||||
$ sudo ./youki start first-container # start the container
|
||||
$ sudo ./youki list # will show the list of containers, the container is `running`
|
||||
$ sudo ./youki delete first-container # delete the container
|
||||
```
|
||||
|
||||
Change the command to be executed in `config.json` and try something other than `sleep 30`.
|
||||
|
||||
## Usage
|
||||
|
||||
@ -171,8 +191,9 @@ $ git clone git@github.com:containers/youki.git
|
||||
$ cd youki
|
||||
$ vagrant up
|
||||
$ vagrant ssh
|
||||
|
||||
# in virtual machine
|
||||
$ cd youki # in virtual machine
|
||||
$ cd youki
|
||||
$ ./build.sh
|
||||
```
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user