Docker Hub镜像构建测试

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

内容简介: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镜像构建测试

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

查看所有标签

猜你喜欢:

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

算法概论

算法概论

Sanjoy Dasgupta、Christos Papadimitriou、Umesh Vazirani / 钱枫 注、邹恒明 注 / 机械工业出版社 / 2009-1 / 55.00元

《算法概论(注释版)》源自加州大学伯克利分校和加州大学圣迭戈分校本科生的算法课讲义,以独特的视角展现了算法设计的精巧技术及魅力。在表达每一种技术时,强调每个算法背后的简洁数学思想,分析其时间和空间效率,运用与其他技术类比的方法来说明特征,并提供了大量实例。《算法概论(注释版)》以人类最古老的算法(算术运算)为起点,将各种算法中优美而有代表性的内容囊括书中,并以最前沿的理论(量子算法)结束,构成了较......一起来看看 《算法概论》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

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

在线 XML 格式化压缩工具