如何从 kickstart 或 preseed 文件加载 docker 镜像?

如何从 kickstart 或 preseed 文件加载 docker 镜像?

我想创建安装了docker引擎的定制ubuntu iso。我还想在其中加载一些docker镜像。

Docker 引擎已安装。

我可以使用命令保存docker镜像docker save。但在安装过程中无法加载。

我的示例 kickstart 文件:

%post --nochroot

mkdir /target/usr/share/my-docker-imgs
cp -rf /cdrom/pool/extras/sample.tar /target/usr/share/my-docker-imgs
%end

%post
#server docker status // It shows docker is not running in log file. I also tried to start it hear.

docker load -i /usr/share/my-docker-imgs/sample.tar  //Log: Cannot connect to the Docker daemon. Is the docker daemon running on this host?
%end

还在种子文件中尝试过:

d-i preseed/late_command string in-target docker load -i /usr/share/my-docker-imgs/sample.tar;

安装过程中出现错误代码 127。

我引用了:自定义 ubuntu iso

答案1

我发现安装后 docker 并未启动。/var/lib/docker在安装后过程中甚至目录也尚未创建。

步骤1: 参考,导出 docker 镜像。您有一个名为 的文件docker-images.tar。将其复制到pool/extras目录中。

第2步: In the preseed/ks-myiso.cfg file,

%post --nochroot

cp -r /cdrom/pool/extras/docker-images.tar /target/usr/share/

%end

%post

mkdir -p /var/lib/docker
tar -xvf /usr/share/naanal_pkgs/docker_images.tar -C /var/lib/docker    

%end

注意:我直接从 cdrom 提取 tar 文件时遇到了一些问题。如果您没有发现任何问题,您可以直接解压 docker-images.tar 文件而无需复制它。

相关内容