Docker Hub镜像构建测试

栏目: 编程工具 · 发布时间: 6年前

内容简介:Docker Hub提供了镜像构建服务,特别是和代码仓库关联起来的时候可以自动构建最新的镜像,这个功能可以保证你的镜像时刻是最新的。但是有时候构件本身可能是成功的,比如你成功生成了相关的jar,并放到了合适的运行容器中,但是可能由于第三方依赖或其他原因导致你的镜像其实并不能正常工作。人工验证可以发现问题,但是这里使用Docker Hub提供的测试服务更加快捷。

Docker Hub提供了镜像构建服务,特别是和代码仓库关联起来的时候可以自动构建最新的镜像,这个功能可以保证你的镜像时刻是最新的。

但是有时候构件本身可能是成功的,比如你成功生成了相关的jar,并放到了合适的运行容器中,但是可能由于第三方依赖或其他原因导致你的镜像其实并不能正常工作。

人工验证可以发现问题,但是这里使用Docker Hub提供的测试服务更加快捷。

我们以dubbo-admin为例,这是一个非常标准的Spring Boot项目,构建以后生成jar包可以直接运行。而我们的测试目标就是构建出的镜像可以正常对外提供服务,这里我们检测swagger文档地址是否返回200。不同的项目可以使用不同的检测标准。

首先添加一个检测脚本test.sh

LOOP_SIZE=60
i=0

while [[ $i -lt LOOP_SIZE ]]; do
	status_code=$(curl --write-out %{http_code} --silent --output /dev/null http://admin:8080/swagger-resources)

  if [[ "$status_code" -eq 200 ]] ; then
    echo "Tests passed!"
    exit 0
  else
    curl -v http://admin:8080/swagger-resources
    echo "status is incorrect, waiting for next turn"
  fi
	sleep 5
	i=$i+1
done

echo "Tests failed!"
exit 1

这里循环检测相关访问是否成功,重试60次,每次间隔5秒。

然后提供了测试镜像

FROM ubuntu:trusty
RUN apt-get update && apt-get install -yq curl && apt-get clean

WORKDIR /app

ADD test.sh /app/test.sh

CMD ["bash", "test.sh"]

最后新建一个docker-compose.test.yml,这个名字是Docker Hub检测的依据,不要用其他名字

zookeeper:
  image: zookeeper
admin:
  build: .
  dockerfile: Dockerfile
  links:
    - zookeeper
  environment:
    - admin.registry.address=zookeeper://zookeeper:2181
    - admin.config-center=zookeeper://zookeeper:2181
    - admin.metadata-report.address=zookeeper://zookeeper:2181
sut:
  build: .
  dockerfile: Dockerfile.test
  links:
    - admin

这其中可以增加相关依赖,比如zookeeper。

最后在Docker Hub的执行结果如下:

Docker Hub镜像构建测试

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Bulletproof Web Design

Bulletproof Web Design

Dan Cederholm / New Riders Press / 28 July, 2005 / $39.99

No matter how visually appealing or packed with content a Web site is, it isn't succeeding if it's not reaching the widest possible audience. Designers who get this guide can be assured their Web site......一起来看看 《Bulletproof Web Design》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

SHA 加密
SHA 加密

SHA 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具