Docker deployment

Docker容器部署的大致步骤如下:

一、在VM层的操作

镜像编译工作

在镜像项目的顶层目录下运行:
mvn versions:resolve-ranges
这一步用于获取base镜像的版本号
下一步进行镜像的编译:
mvn clean install

编译完成后,可使用docker images命令来查看所编译镜像是否存在

传输镜像

通过下面命令将编译好的镜像传输至DIND:
docker save docker.example.com/jira:0.0.1-SNAPSHOT | ssh -C root@dind1.docker.example.com "docker load"

同步puppet配置文件

git上的devops/deploy项目提供了在DIND中启动容器至关重要的文件支持,对于第一个docker项目而言,在VM层修改过devops/deploy中的配置文件后,都需要进入path/to/devops/deploy目录中,使用fab命令将文件同步到DIND中的/home/gavinwei目录下:
fab -u gavinwei provision:hosts=dind1.docker.example.com
gavinwei 可替换为你自已的用户名

二、在DIND中的操作

进入DIND

使用如下命令进行DIND窗口内部,默认以root身份登录:
docker exec -it dind.1 bash

进入你帐号所在的家目录,比如我之前在fab命令中使用的是gavinwei,就可以使用如下命令:
cd /home/gavinwei

启动容器

修改文件/home/gavinwei/puppet/hieradata/node/sj/dind1.docker.example.com.yaml,将其中的项目名称修改为自己的项目名称后,进行run-puppet脚本:
./run-puppet --debug
–debug选项可以显示启动的具体过程,便于debug

随后容器就启动了,可使用docker ps 查看。


DIND 是本地测试环境的基础,其部署方法及步骤详见附件。