From 4eb5b3fe751d1fd751151a4e3fb030fdfe030d68 Mon Sep 17 00:00:00 2001 From: yukang Date: Fri, 27 Aug 2021 08:01:17 +0000 Subject: [PATCH] tweak readme tutorial --- .gitignore | 5 ----- README.md | 29 ++++++++++++++--------------- 2 files changed, 14 insertions(+), 20 deletions(-) diff --git a/.gitignore b/.gitignore index 27ec3d61..f3ea879a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,6 @@ youki /tutorial -/rootfs - .idea/ **/target @@ -11,6 +9,3 @@ youki tags tags.lock tags.temp -/config.json - - diff --git a/README.md b/README.md index 0465ce3e..331cac33 100644 --- a/README.md +++ b/README.md @@ -64,8 +64,11 @@ For other platforms, please use [Vagrantfile](#setting-up-vagrant) that we prepa ### Debian, Ubuntu and related distributions ```sh -$ sudo apt-get install pkg-config build-essential libsystemd-dev \ - libdbus-glib-1-dev +$ sudo apt-get install \ + pkg-config \ + libsystemd-dev \ + libdbus-glib-1-dev \ + build-essential ``` ### Fedora, Centos, RHEL and related distributions @@ -95,8 +98,8 @@ $ git clone git@github.com:containers/youki.git $ cd youki $ ./build.sh -$ mkdir rootfs - +$ mkdir -p tutorial/rootfs +$ cd tutorial # use docker to export busybox into the rootfs directory $ docker export $(docker create busybox) | tar -C rootfs -xvf - ``` @@ -104,18 +107,14 @@ $ docker export $(docker create busybox) | tar -C rootfs -xvf - 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 -$ ./youki spec # will generate a spec file named config.json +$ ../youki spec # will generate a spec file named config.json ``` 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" ], @@ -126,11 +125,11 @@ We can edit the `config.json` to add customized behaviors for container. Here, w 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 +$ sudo ./youki create -b tutorial tutorial_container # create a container with name `tutorial_container` +$ sudo ./youki state tutorial_container # you can see the state the container is `created` +$ sudo ./youki start tutorial_container # start the container +$ sudo ./youki list # will show the list of containers, the container is `running` +$ sudo ./youki delete tutorial_container # delete the container ``` Change the command to be executed in `config.json` and try something other than `sleep 30`.