服务器上的环境为k8s集群。

项目中有需求,需要在代码中实现操作docker镜像的拉取与推送
一开始有两种实现思路:
一种是使用shell脚本,代码中给shell脚本传参。这种方式需要在项目运行的容器中安装docker,需要在dockerfile中添加docker的安装。
还有一种是使用docker-java,使用tcp方式链接docker服务或者本地docker服务。
参考文章:
http://t.zoukankan.com/boshen-hzb-p-10714414.html

考虑docker安装到pod内部,每次使用命令下载镜像时会docker会缓存镜像信息,导致占用pod内存,而且在pod内部不便于管理,所以不是很推荐。

使用docker.sock的方式。
查阅资料后
最终方案,使用hostpath挂载usr/bin/docker 和/var/run/docker.sock。然后是用shell脚本传参方式进行镜像推送。

参考
https://blog.csdn.net/RenshenLi/article/details/121986071

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐