Percona容器部署

镜像编译

以镜像percona为例,假如我们应用场景如下:
现在需要向pernoa镜像中添加数据库自动备份功能

下载镜像

1
2
cd ~
git clone ssh://gavinwei@git.example.com:29418/docker/bd/percona

操作percona代码

1
2
3
# cd ~/percona
# ls
pom.xml proguard.conf src

我们所需要操作都在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.1
docker exec -it dind.1 bash

运行脚本:

1
2
3
cd /home/你的用户名
#以debug模式运行puppet,便于排错
./run-puppet --debug