Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。——百度百科

step 1: 安装必要的一些软件

1
2
3
4
## ubuntu 下的安装
sudo apt-get update

sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

Step 2: 安装GPG证书

1
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

Step 3: 设置软件源信息

1
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

Step 4: 更新并安装Docker-CE

1
2
3
4
5
6
sudo apt-get -y update

sudo apt-get -y install docker-ce docker-ce-cli containerd.io

## 避免每次输入sudo,注your-user为用户名
sudo usermod -aG docker your-user

Step 5:更改docker默认repository

1
2
3
4
5
6
7
8
9
## 在国内镜像拉取默认的repository很慢,所以需要修改配置文件使其从国内拉取,
## 在/etc/docker/下创建daemon.json 添加如下内容
sudo vim /etc/docker/daemon.json

{
 	"registry-mirrors": ["[https://xxxxx.mirror.aliyuncs.com]"]
}
## 注意:xxxxx的值需要从阿里云处申请,对应教程转到如下链接
## https://help.aliyun.com/document_detail/60750.html

Step 6:重启服务器

1
reboot

Step 7:容器安全设置(可选)

docker容器轻巧,快速且易于集成到许多不同的应用程序工作流程中。但是,在运行容器时存在一些潜在的安全问题,特别是在单个操作系统中的多租户容器:最终,容器共享一个内核、 I / O 的一条路径、网络和内存等。

Kata Containers 项目的主要目标是将虚拟化的安全隔离优势和容器的快速启动特点结合起来。旨在通过虚拟机管理程序来缓解这种安全问题——创建一个外观和感觉像容器的虚拟机。Kata Containers项目通过整合Intel Clear Containers和Hyper runV技术,能够支持不同平台的硬件,并且兼容Open Container Initiative(OCI)和Kubernetes container runtime interface(CRI)接口规范。

安装前提

为了运行 Kata 与 Firecracker, 需要相应一些环境支持:

  • 安装前提系统内核需要vhost_vsock 支持
  • 容器堆栈必须提供基于块的存储graph driver

下载最新的 release安装包:

1
wget https://github.com/kata-containers/runtime/releases/download/1.10.0/kata-static-1.10.0-x86_64.tar.xz

解压到根目录

1
sudo tar -xvf kata-static-1.10.0-x86_64.tar.xz -C /

/etc/docker/daemon.json进行如下设置:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "runtimes": {
    "kata-fc": {
      "path": "/opt/kata/bin/kata-fc"
    },
   "kata-qemu": {
      "path": "/opt/kata/bin/kata-qemu"
    }
  },
  "storage-driver": "devicemapper"
}

重启docker服务

1
2
sudo systemctl daemon-reload
sudo systemctl restart docker

确保主机已支持vhost_vsock:

1
sudo modprobe vhost_vsock

运行kata容器:

1
2
3
docker run --runtime=kata-fc -itd --name=oh-sweet-fc ubuntu bash
## 或者
docker run --runtime=kata-qemu -itd --name=oh-sweet-qemu ubuntu bash

Step 8:可视化设置(可选)

注意:如需实现docker可视化操作,可以进行如下操作(重启后进行)。

1
2
3
4
5
6
## 拉取 docker 图形化界面 portainer
docker pull portainer/portainer
## 设置 portainer 数据卷
docker volume create portainer_data
## 创建运行 portainer 容器
docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

通过浏览器访问localhost:9000