Docker中maven插件怎么使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
创新互联专业网站设计、成都做网站,集网站策划、网站设计、网站制作于一体,网站seo、网站优化、网站营销、软文推广等专业人才根据搜索规律编程设计,让网站在运行后,在搜索中有好的表现,专业设计制作为您带来效益的网站!让网站建设为您创造效益。
Docker最近在业内非常火。如果你现在还不知道Docker是什么,你可要小心喽。今后,你会发现自己正在以某种方式使用它。本文假设你已经有了Docker的基础。如果你现在对它还不是很熟悉,我确定你以后还会来读这篇文章。
Docker用于集成测试、复杂分布式系统演示,非常理想。甚至可以用于运行生产环境下的系统。它是一个开源的软件容器。你可以把它想像成一个非常轻的超级快的虚拟机。
得到"Integration testing with Maven and Docker"文章和Docker Java API项目的启发,我写了一个简单的可以管理Docker容器maven插件,Docker Maven Plugin。这个插件将会根据你的配置,在构建时启动容器,构建结束时停止容器并删除,如果本地找不到镜像,Docker会自动去中央仓库下载。
以下与Apache Camel的集成测试是被忽略的,因为测试需要一个redis实例才可以执行:
package org.apache.camel.component.redis; import org.apache.camel.impl.JndiRegistry; import org.junit.Ignore; import org.junit.Test; import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; @Ignore public class RedisProducerIntegrationTest extends RedisTestSupport { private static final JedisConnectionFactory CONNECTION_FACTORY = new JedisConnectionFactory(); static { CONNECTION_FACTORY.afterPropertiesSet(); } @Override protected JndiRegistry createRegistry() throws Exception { JndiRegistry registry = super.createRegistry(); redisTemplate = new RedisTemplate(); redisTemplate.setConnectionFactory(CONNECTION_FACTORY); redisTemplate.afterPropertiesSet(); registry.bind("redisTemplate", redisTemplate); return registry; } @Test public void shouldSetAString() throws Exception { sendHeaders( RedisConstants.COMMAND, "SET", RedisConstants.KEY, "key1", RedisConstants.VALUE, "value"); assertEquals("value", redisTemplate.opsForValue().get("key1")); } @Test public void shouldGetAString() throws Exception { redisTemplate.opsForValue().set("key2", "value"); Object result = sendHeaders(RedisConstants.KEY, "key2", RedisConstants.COMMAND, "GET"); assertEquals("value", result); } }
我们配置docker-maven-plugin使用一个Redis镜像同时让主机的6379端口映射到容器的6379端口:
com.ofbizian docker-maven-plugin 1.0.0 dockerfile/redis start-docker pre-integration-test start stop-docker post-integration-test stop
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。