systemd-nspawn 运行最轻量的容器

Posted onecing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了systemd-nspawn 运行最轻量的容器相关的知识,希望对你有一定的参考价值。

# systemd-nspawn 运行最轻量的容器

## 安装
 - systemd-container包含所有用于启动和管理容器和虚拟机的工具;
 - 而debootstrap则是debian/ubuntu下用于构建一套基本的根文件系统的工具。
    ```
    sudo apt install debootstrap
    sudo apt install systemd-container
    ```
## 创建基本的文件系统
    debootstrap生成的根文件系统符合Linux文件系统标准(FHS),包含了/boot、/etc、/bin、/usr等目录。
    ```
    sudo debootstrap --arch=amd64 jessie [自定义一个目录,eg: aaa]
    ```
    中途会下载各种构建基本文件系统要的包

## 最后得到的文件系统的size如下:
    ```
    root@ubuntu: cd aaa
    root@ubuntu:aaa# du -sh
    295M.
    ```

## 运行容器
    1. systemd-nspawn -D . -M mymachine
        - 容器中只有 bash进程

    - passwd 给root设置密码
    - 由于安全机制,并不能通过 -b方式,由root登入, 需要把/etc/securetty 改个名字才行。
    - 按下ctrl+]]]退出这个容器

    2. systemd-nspawn -D . -M mymachine -b
        - 用-b会导致容器内也启动systemd
   
接下来,就可以在里面 安装sshd等各种服务了。并可以设置开机(随容器)启动。
设置开机自启动:systemctl enable ssh.service

gentoo:
    emerge-webrsync
    emerge --search python
    emerge -u app-eselect/eselect-python

以上是关于systemd-nspawn 运行最轻量的容器的主要内容,如果未能解决你的问题,请参考以下文章

systemd-nspawn 运行最轻量的容器

systemd-nspawn 运行最轻量的容器

初识dosker+安装docker

RancherOS正式版发布:最轻量的开源容器Linux操作系统

通过命令验证docker容器相当一个轻量级的Linux运行环境,且每个容器内都有一个属于自己的文件系统,容器之间相互隔离

ATC‘22顶会论文RunD:高密高并发的轻量级 Serverless 安全容器运行时