[TOC]
### **环境准备**
1、安装docker
2、安装yq
在[github](https://github.com/mikefarah/yq/releases/)上下载最新版本的yq,这里我们下载 [yq_linux_amd64:v4.33.2](https://github.com/mikefarah/yq/releases/download/v4.33.2/yq_linux_amd64)。放到`/usr/bin/`目录下,添加可执行权限。
3、安装git、go(给go设置好GOPROXY环境变量,以免拉不下代码)
### **一键构建**
参考kata文档的 [os-builder](https://github.com/kata-containers/kata-containers/tree/2.5.2/tools/osbuilder),本文中我们使用的kata版本为2.5.2。
下载源码,并切换到2.5.2这个tag
```
$ git clone https://github.com/kata-containers/kata-containers.git
$ cd kata-containers
$ git checkout 2.5.2
```
执行如下[命令](https://github.com/kata-containers/kata-containers/tree/2.5.2/tools/osbuilder#image-creation):
```
$ cd tools/os-builder
$ sudo -E PATH=$PATH make USE_DOCKER=true DISTRO=ubuntu image
```
这个构建过程会持续半个多小时,完成后目录下会多出 kata-container.img 文件与目录 ubuntu_rootfs目录:
```
$ ls -lh
drwxr-xr-x. 3 root root 17 Apr 10 17:01 dockerfiles
drwxr-xr-x. 3 root root 67 Apr 10 17:01 dracut
drwxr-xr-x. 2 root root 84 Apr 10 19:51 image-builder
drwxr-xr-x. 2 root root 48 Apr 10 17:01 initrd-builder
-rw-r--r--. 1 root root 128M Apr 10 19:51 kata-containers.img
-rw-r--r--. 1 root root 7.0K Apr 10 17:01 Makefile
-rw-r--r--. 1 root root 7.6K Apr 10 17:01 README.md
drwxr-xr-x. 8 root root 148 Apr 10 17:36 rootfs-builder
drwxr-xr-x. 2 root root 20 Apr 10 17:50 scripts
drwxr-xr-x. 2 root root 67 Apr 10 17:01 tests
drwxr-xr-x. 21 root root 224 Apr 10 19:35 ubuntu_rootfs
lrwxrwxrwx. 1 root root 13 Apr 10 17:01 VERSION -> ../../VERSION
```
我们把kata-containers.img重命名为 kata-ubuntu.image,以免和其他的混淆起来
```
$ mv kata-containers.img kata-ubuntu.image
```
### **分步构建**
### **FAQ**
- 安装
- 在线安装
- 离线安装
- 下载镜像
- 下载DockerHub镜像
- 下载Google镜像
- 阿里云镜像中心
- 下载ARM镜像
- 镜像下载加速
- 容器命名空间
- Linux命名空间概述
- 根据PID快速定位到容器
- 进入到容器的命名空间
- Dockerfile
- 基本语法
- 前台运行
- 镜像存储
- 本地存储
- Registry中的存储
- 如何判断两个镜像是否是同一个
- Registry
- Notification
- Auth
- 基本原理
- Token认证的设计
- API
- Pull镜像
- Push镜像
- Docker设置代理
- 日志
- 磁盘占用与清理
- Docker选项与K8S的Yaml
- 运维总结
- 常用命令
- DockerCompose
- 构建ARM版本
- 跨架构
- x86架构下构建arm64镜像
- Containerd
- ctr-crictl-nerdctl
- ctr
- Insecure-Registry
- 安装containerd
- Kata
- 构建OS镜像
- 进入到kata虚机
