服务器上的环境为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
本人在做实验过程
中
,需要通过
Java
程序部署
docker
容器
。故尝试搜集资料,实现在
Java
端可以
操作
部署
docker
容器
。过程
中
遇到一些bug和坑,在此总结,供有需要的童鞋使用。主体配置以Ubuntu16为例。后面会附加给出mac的配置说明。
docker
安装
# 安装
docker
curl -sSL https://get.daocloud.io/
docker
| sh
# 查看是...