由于 Docker 已经成为事实上的容器老大,这里暂且将 rkt 内容放入 docker 文件夹。哈哈
官方文档:https://coreos.com/rkt/docs/latest/
GitHub:https://github.com/rkt/rkt/
这里使用 CoreOS
来学习 Rkt
,其他 Linux 系统上 Rkt
的安装方法很简单,这里不再赘述。
Rkt
目前只支持 Linux 系统。
先看一下命令列表
1 | NAME: |
rkt 使用的是 pod
的概念,与 k8s 联系紧密,可能对应 docker 中的容器概念。
下载 Docker 镜像
rkt
比 docker
多了一个验证的功能,下载 Docker 镜像必须加上不要验证的参数。
1 | $ rkt fetch --insecure-options=image docker://ubuntu |
查看镜像
1 | $ rkt image list |
运行一个 pod
1 | $ sudo rkt --insecure-options=image \ |
--interactive
与 docker -it
对应
--volume data,kind=host,source=/srv/data,readOnly=false
挂载文件
--volume data,kind=empty,readOnly=false
--mount volume=VOL,target=PATH
1 | $ sudo rkt --insecure-options=image \ |
--port=80-tcp:80
暴露端口
1 | $ sudo rkt --insecure-options=image \ |
--set-env=KEY=VALUE
设置 pod 环境变量
--environment=foo=bar
设置 pod 环境变量
--exec /bin/sh
--name=name
--net=host | default | none
--net="net1:IP=1.2.3.4"
后台运行
systemd-run
https://coreos.com/rkt/docs/latest/using-rkt-with-systemd.html#systemd-run
1 | $ sudo systemd-run \ |
daemon
http://www.libslack.org/daemon/
查看 pods 信息
1 | $ rkt list |
进入 pod
1 | $ sudo rkt enter ea sh |
停止 pod
1 | $ sudo rkt stop ea |
删除 pod
1 | $ sudo rkt rm ea |