docker_practice/opensource/linuxkit.md

52 lines
1.2 KiB
Markdown

## LinuxKit
`LinuxKit` 这个工具可以将多个 Docker 镜像组成一个最小化、可自由定制的 Linux 系统,最后的生成的系统只有几十 M 大小,可以很方便的在云端进行部署。
下面我们在 macOS 上通过实例,来编译并运行一个全部由 Docker 镜像组成的包含 nginx 服务的 Linux 系统。
### 安装 Linuxkit
```bash
$ brew tap linuxkit/linuxkit
$ brew install --HEAD linuxkit
```
### 克隆源代码
```bash
$ git clone -b master --depth=1 https://github.com/linuxkit/linuxkit.git
$ cd linuxkit
```
### 编译 Linux 系统
LinuxKit 通过 `yaml` 文件配置。
我们来查看 `linuxkit.yml` 文件,了解各个字段的作用。
`kernel` 字段定义了内核版本。
`init` 字段中配置系统启动时的初始化顺序。
`onboot` 字段配置系统级的服务。
`services` 字段配置镜像启动后运行的服务。
`files` 字段配置制作镜像时打包入镜像中的文件。
```bash
$ linuxkit build linuxkit.yml
```
### 启动 Linux 系统
编译成功后,接下来启动这个 Linux 系统。
```bash
$ linuxkit run -publish 8080:80/tcp linuxkit
```
接下来在浏览器中打开 `127.0.0.1:8080` 即可看到 nginx 默认页面。