Docker中Maven私服的搭建
為何用到Maven私服?
在實(shí)際開發(fā)中,項(xiàng)目中可能會(huì)用到第三方的jar、內(nèi)部通訊的服務(wù)接口都會(huì)打入到公司的私服中。
我們從項(xiàng)目實(shí)際開發(fā)來看:
一些無法從外部倉庫下載的構(gòu)件,例如內(nèi)部的項(xiàng)目還能部署到私服上,以便供其他依賴項(xiàng)目使用。
為了節(jié)省帶寬和時(shí)間,在局域網(wǎng)內(nèi)架設(shè)一個(gè)私有的倉庫服務(wù)器,用其代理所有外部的遠(yuǎn)程倉庫。當(dāng)本地Maven項(xiàng)目需要下載構(gòu)件時(shí),先去私服請(qǐng)求,如果私服沒有,則再去遠(yuǎn)程倉庫請(qǐng)求,從遠(yuǎn)程倉庫下載構(gòu)件后,把構(gòu)件緩存在私服上。這樣,及時(shí)暫時(shí)沒有Internet鏈接,由于私服已經(jīng)緩存了大量構(gòu)件,整個(gè)項(xiàng)目還是可以正常使用的。同時(shí),也降低了中央倉庫的符合。
如上摘抄自私服服務(wù)器架設(shè),如下為詳細(xì)步驟:
1、下載一個(gè)nexus3的鏡像
docker?pull?sonatype/nexus32、將容器內(nèi)部/var/nexus-data掛載到主機(jī)/root/nexus-data目錄
docker?run?-d?-p?8081:8081?--name?nexus?-v?/root/nexus-data:/var/nexus-data?--restart=always?sonatype/nexus3通過 docker ps -a 查看容器啟動(dòng)情況
驗(yàn)證,通過id查看容器的詳細(xì)信息,輸出如下ip地址。
docker?inspect?容器id緊接著訪問以下這個(gè)地址試一下:curl 127.17.0.2:8081
如果啟動(dòng)失敗,可關(guān)閉防火墻再試一下:
systemctl?stop?firewalld.serviceok,啟動(dòng)后瀏覽器訪問一下 http://ip:8081
至此,私服搭建成功。
默認(rèn)登陸賬號(hào) admin admin123
注意,這個(gè)時(shí)候你可能會(huì)遇到如下這個(gè)錯(cuò)誤:
Incorrect username or password, or no permission to use the application.
maven私服登錄的時(shí)候默認(rèn)是不能使用明文密碼,要使用密文密碼,一般在你創(chuàng)建容器的目錄下,比如 root/nexus-data/admin.password ,注意,需要進(jìn)入容器中找,見下方指令與圖:
docker?exec?-it?c2101070de57?bash bash-4.2$?cd?/nexus-data/ bash-4.2$?cat?admin.password? d62fa667-a22b-41db-a14a-6aa6f793f4fbbash-4.2$?去掉后面的 bash-4.2$,d62fa667-a22b-41db-a14a-6aa6f793f4fb 即為密碼。
重新登陸后,會(huì)提示你重設(shè)密碼:
3、創(chuàng)建maven倉庫
上傳maven私服之前我們先,創(chuàng)建個(gè)倉庫
選擇maven2(hosted)
填寫倉庫信息:
創(chuàng)建用戶:
填寫基本信息
創(chuàng)建好賬戶后就可以在右上角切換賬戶了。
接著就是配置本地 maven > conf 了,找到自己本機(jī)的 maven conf 下的 setting.xml 文件,添加如下信息:
注意是 services 節(jié)點(diǎn)下:
<services><server><id>ttyy</id><username>ttyy</username><password>ttyy</password></server></services>4、如何將架包上傳到maven私服
創(chuàng)建一個(gè)普通的 maven 項(xiàng)目,配置 pom.xml 如下:
<!--注意限定版本一定為RELEASE,因?yàn)樯蟼鞯膶?duì)應(yīng)倉庫的存儲(chǔ)類型為RELEASE?--> <!--指定倉庫地址?--> <distributionManagement><repository><!--此名稱要和.m2/settings.xml中設(shè)置的ID一致?--><id>ttyy</id><url>http://192.168.10.130:8081/repository/ttyy-release/</url></repository> </distributionManagement><build><plugins><!--發(fā)布代碼Jar插件?--><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-deploy-plugin</artifactId><version>2.7</version></plugin><!--發(fā)布源碼插件?--><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><version>2.2.1</version><executions><execution><phase>package</phase><goals><goal>jar</goal></goals></execution></executions></plugin></plugins> </build>項(xiàng)目命令行中執(zhí)行如下指令:
mvn?deploy發(fā)布成功后,如何搜索呢?如下圖:
發(fā)布后如何使用呢,相信很多小伙伴肯定用過阿里云的私服,一樣的道理啦:
<dependencies><dependency><groupId>club.sscai</groupId><artifactId>ttyy-springboot</artifactId><version>1.0-RELEASE</version></dependency> </dependencies><repositories><repository><id>ttyy</id><url>http://192.168.10.130:8081/repository/ttyy-release/</url></repository> </repositories>我創(chuàng)建了一個(gè)java相關(guān)的公眾號(hào),用來記錄自己的學(xué)習(xí)之路,感興趣的小伙伴可以關(guān)注一下微信公眾號(hào)哈:niceyoo
總結(jié)
以上是生活随笔為你收集整理的Docker中Maven私服的搭建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tp5 生成二维码并与背景图合并
- 下一篇: leetcode第一刷_Binary T