我希望能够在Kubernetes pod中运行的容器上执行docker commit
之类的操作。
卷快照不符合我的标准,因为我想快照容器的完整状态,而不仅仅是在某个路径下安装的数据。
我需要这个,因为我为(受信任的)用户提供了对容器的root访问权限,并且我希望能够提供一种方法来回滚容器,而不会丢失他们已经安装的任何软件包(或者他们所做的任何其他更改)。最后的快照。
似乎a related feature request已经制作完成但没有任何结果。
我正在使用Google Kubernetes Engine,但我准备迁移到另一家可以轻松支持此功能的提供商。
答案 0 :(得分:0)
在名为guest:
的容器中运行bash shellform2.FDQuery5.OpenOrExecute;
如果您使用网络代理,请按照Oracle Linux Administrator's Guide for Release 7中的说明编辑访客上的yum配置。
安装httpd包:
$chore = Chore::whereHas('kids', function ($query) use ($date){
$query->where('chore_date','=', $date );
})->get();
如果需要,请创建要在访客的[root@host ~]# docker run -i -t --name guest oraclelinux:6.6 /bin/bash
[root@guest ~]#
目录层次结构下显示的Web内容。
使用主机上的docker stop命令退出guest虚拟机:
[root@guest ~]# yum install httpd
使用您停止的容器的ID,使用标记/var/www/html
创建图像[root@host ~]# docker stop guest
guest
:
mymod/httpd
使用v1
和[root@host ~]# docker commit -m "ol6 + httpd" -a "A N Other" \
`docker ps -l -q` mymod/httpd:v1
8594abec905e6374db51bed1bfb208804cfb60d96b285efb897db581a01676e9
选项记录图片及其作者。该命令返回新图像ID的完整版本。
如果您使用docker images命令,新图像现在会出现在列表中:
-m
删除名为guest的容器。
-a
您现在可以使用新映像创建一个充当Web服务器的容器,例如:
[root@host ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
mymod/httpd v1 8594abec905e 2 minutes ago 938.5 MB
oraclelinux 6 9ac13076d2b5 5 days ago 319.4 MB
oraclelinux 6.6 9ac13076d2b5 5 days ago 319.4 MB
oraclelinux latest 073ded22ac0f 5 days ago 265.2 MB
oraclelinux 7 073ded22ac0f 5 days ago 265.2 MB
oraclelinux 7.0 073ded22ac0f 5 days ago 265.2 MB