91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker中maven插件怎么使用

發布時間:2021-08-12 16:22:01 來源:億速云 閱讀:189 作者:Leah 欄目:云計算

Docker中maven插件怎么使用,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

什么是Docker

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端口:

	<plugin>
		<groupId>com.ofbizian</groupId>
		<artifactId>docker-maven-plugin</artifactId>
		<version>1.0.0</version>
		<configuration>
			<images>
			    <image>
			        <name>dockerfile/redis</name>
			        <hostConfig>
			            <![CDATA[
			                {
			                    "PortBindings": {
			                        "6379/tcp": [
			                            {
			                                "HostIp": "0.0.0.0",
			                                "HostPort": "6379"
			                            }
			                        ]
			                    }
			                }
			        ]]>
			        </hostConfig>
			    </image>
			</images>
		</configuration>
		<executions>
			<execution>
			    <id>start-docker</id>
			    <phase>pre-integration-test</phase>
			    <goals>
			        <goal>start</goal>
			    </goals>
			</execution>
			<execution>
			    <id>stop-docker</id>
			    <phase>post-integration-test</phase>
			    <goals>
			        <goal>stop</goal>
			    </goals>
			</execution>
		</executions>
	</plugin>

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玉溪市| 津市市| 清流县| 大埔县| 湖州市| 天祝| 师宗县| 柘城县| 瑞安市| 大化| 连州市| 阿城市| 桐柏县| 大理市| 辽中县| 古田县| 岚皋县| 东乌| 太谷县| 嘉兴市| 龙井市| 饶平县| 南华县| 西安市| 金沙县| 黔西县| 河南省| 嫩江县| 瓦房店市| 沧源| 甘德县| 龙游县| 延庆县| 陆川县| 大竹县| 固镇县| 汉中市| 商水县| 博罗县| 台湾省| 介休市|