镜像编译
以镜像percona为例,假如我们应用场景如下:
现在需要向pernoa镜像中添加数据库自动备份功能
下载镜像
1 | cd ~ |
操作percona代码
1 | # cd ~/percona |
我们所需要操作都在src目录的最底层:
cd src/main/docker/
在src/main/docker/目录下添加要新增的文件及脚本,并修改Dockerfile文件
使用MAVEN进行编译
全部修改完成后,回到percona顶层目录:
cd ~/pernona
自动获取镜像版本号:
mvn -U versions:resolve-ranges
正式编译
mvn clean package -X
将镜像导入dind
docker save docker.example.com/jira:0.0.1-SNAPSHOT | ssh -C "你的帐户名"@dind1.docker.example.com "sudo docker load"
这里的帐户名为我们邮件地址中@前面的名称,以下同理。
这一步完成后,窗口dind.1中已经有了我们重新编辑过镜像
此时有两种方法来使用该镜像来启动容器
方法1: 使用fab脚本
这种方法在之前的邮件DIND的安装中有提到过,使用fab deploy:hosts="${HOSTS}"
命令进行部署
方法2:进入dind.1,直接运行run-puppet脚本
进行入dind.1docker exec -it dind.1 bash
运行脚本:
1 | cd /home/你的用户名 |