mirror of
https://github.com/yeasy/docker_practice.git
synced 2024-11-24 15:28:54 +00:00
d887c8bda6
Signed-off-by: Kang HuaiShuai <khs1994@khs1994.com>
52 lines
1.2 KiB
Go
52 lines
1.2 KiB
Go
# 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
|
||
|
||
$ 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 默认页面。
|