工程生成鏡像放到私有docker倉庫

1:本地開發(fā)的工程放到私有g(shù)itlib上。

2:在運(yùn)行鏡像的環(huán)境中(我使用的是centos7)安裝git命令。

yum install git

查看是否安裝成功

git --version

3:運(yùn)行g(shù)it命令,下載我上傳到gitlib的工程。

git clone http://192.168.155.99:82/RisingCloud/rc-alarm-engine.git

ps:更新工程命令:在rc-alarm-engine目錄里運(yùn)行 git pull命令凤薛,更新master版本枚冗。

其他git命令上網(wǎng)查詢缓溅。

4:在運(yùn)行鏡像的環(huán)境中(我使用的是centos7)安裝maven命令。

下載maven安裝包

yum install wget

wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz

解壓maven包

tar zxf apache-maven-3.1.1-bin.tar.gz

移動到指定目錄

mv apache-maven-3.1.1 /usr/local/maven3

安裝jdk

下載:

wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.rpm?AuthParam=1534132498_e541d098d71f6243516fa69cd17eba60

解壓:

tar -zxvf jdk1.8.0_144.tar.gz

移動到:

mv jdk1.8.0_144 /usr/java/

配置環(huán)境變量

vi /etc/profile

#在適當(dāng)?shù)奈恢锰砑?/p>

#set java environment

export JAVA_HOME=/usr/java/jdk1.8.0_144

export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH


export M2_HOME=/usr/local/maven3

export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin

文件生效

source?/etc/profile

檢查maven是否安裝成功

mvn -v

5:回到git下載的工程目錄

6:我在工程中先寫好了dockerfile文件赁温,位置和內(nèi)容:


dockerfile內(nèi)容:


FROM:哪個鏡像作為基礎(chǔ)鏡像坛怪。我用的是dockerhub上提供的原始o(jì)penjdk8。(注意:這里最好用官方的基礎(chǔ)鏡像股囊,不要用其他第三方的基礎(chǔ)鏡像袜匿,會有安全隱患

MAINTAINER:作者

ADD:把rc-ae-server/target/路徑下的jar包,放到鏡像里的根路徑并起名app.jar

EXPOSE:設(shè)置鏡像啟動后對外暴露的端口稚疹,這個端口跟我工程啟動的端口配置的一致

ENTRYPOINT:用java -jar 啟動鏡像中的app.jar包

7:maven編譯工程居灯,生成jar包

工程中很多的包我們都放在了自己建立的私庫中,所以要先在.m2下配置setting.xml,允許在maven私庫中下載jar包怪嫌。

setting.xml文件配置內(nèi)容:

<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"

? ? ? ? ? xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

? ? ? ? ? xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

<localRepository>/root/.m2/repository</localRepository>

? <servers>

? ? ? ? ? <server>

? ? ? ? ? ? ? ? <id>myReleases</id>

? ? ? ? ? ? ? ? <username>admin</username>

? ? ? ? ? ? ? ? <password>admin123</password>

? ? ? ? ? </server>

? ? ? ? <server>

? ? ? ? ? ? ? ? <id>mySnapshots</id>

? ? ? ? ? ? ? ? <username>admin</username>

? ? ? ? ? ? ? ? <password>admin123</password>

? ? ? ? </server>

? ? ? ? ? ? ? ? <server>

? ? ? ? ? ? ? ? <id>thirdparty</id>

? ? ? ? ? ? ? ? <username>admin</username>

? ? ? ? ? ? ? ? <password>admin123</password>

? ? ? ? </server>

? </servers>? ? ? ? ?

? ? <mirrors>

? ? ? ? <mirror>

? ? ? ? ? ? <id>nexus</id>

? ? ? ? ? ? <mirrorOf>*</mirrorOf>

? ? ? ? ? ? <url>http://192.168.155.100:8081/repository/maven-public/</url>

? ? ? ? </mirror>

? ? ? </mirrors>

? ? <profiles>

? ? ? ? <profile>

? ? ? ? ? ? <id>nexus</id>

? ? ? ? ? ? <repositories>

? ? ? ? ? ? ? ? <repository>

? ? ? ? ? ? ? ? ? ? <id>nexus</id>

? ? ? ? ? ? ? ? ? ? <name>nexus repository</name>

? ? ? ? ? ? ? ? ? ? <url>http://192.168.155.100:8081/repository/maven-public/</url>

? ? ? ? ? ? ? ? ? ? <releases>

? ? ? ? ? ? ? ? ? ? ? ? <enabled>true</enabled>

? ? ? ? ? ? ? ? ? ? </releases>

? ? ? ? ? ? ? ? ? ? <snapshots>

? ? ? ? ? ? ? ? ? ? ? ? <enabled>true</enabled>

? ? ? ? ? ? ? ? ? ? </snapshots>

? ? ? ? ? ? ? ? </repository>

? ? ? ? ? ? </repositories>

? ? ? ? ? ? <pluginRepositories>

? ? ? ? ? ? ? ? <pluginRepository>

? ? ? ? ? ? ? ? ? ? <id>nexus</id>

? ? ? ? ? ? ? ? ? ? <name>nexus repository</name>

? ? ? ? ? ? ? ? ? ? <url>http://192.168.155.100:8081/repository/maven-public/</url>

? ? ? ? ? ? ? ? ? ? <releases>

? ? ? ? ? ? ? ? ? ? ? ? <enabled>true</enabled>

? ? ? ? ? ? ? ? ? ? </releases>

? ? ? ? ? ? ? ? ? ? <snapshots>

? ? ? ? ? ? ? ? ? ? ? ? <enabled>true</enabled>

? ? ? ? ? ? ? ? ? ? </snapshots>

? ? ? ? ? ? ? ? </pluginRepository>

? ? ? ? ? ? </pluginRepositories>

? ? ? ? </profile>

? ? </profiles>

? ? <activeProfiles>

? ? ? ? <activeProfile>nexus</activeProfile>

? ? </activeProfiles>

</settings>

具體的setting.xml解釋請上網(wǎng)上找相應(yīng)說明义锥,這里就不解釋了。


mvn clean install

這時候能在工程的target目錄下看到打好的jar包

8:在工程根目錄下我放置的Dockerfile這個路徑下岩灭,運(yùn)行docker命令打鏡像

docker build -t "192.168.155.100:8082/rc-alarm-engine" .

docker images 查看生成的鏡像

9:鏡像啟動生成容器

docker run -d -p 9003:9003 --name rc-alarm-engine 192.168.155.100:8082/rc-alarm-engine

打開容器日志拌倍,看工程是否啟動成功:

docker logs -f 容器id

10:工程正常啟動,說明鏡像沒有問題川背,然后把鏡像push到私有庫上(nexus-docker)

docker login -u admin -p admin123 192.168.155.100:8082

docker push 192.168.155.100:8082/rc-alarm-engine

查看是否已經(jīng)傳到nexus-docker

上傳成功贰拿,推出

docker logout 192.168.155.100:8082

坑、坑熄云、坑膨更、在操作過程中遇到的各種各樣的坑,寫出來缴允,希望大家以后小心

1:我們用的是springcloud搭建的工程荚守,每個子服務(wù)的結(jié)構(gòu)是:client、service练般、vo

在配置pom.xml文件的時候矗漾,一定要注意引用maven插件只能配置在一處,不能配置多個薄料。


我是在service工程中配置的敞贡,配置好后,其他兩個工程都可以使用這個插件的功能摄职。

剛開始的時候誊役,我在三個里面都配置了,工程不報(bào)錯,也可以正常運(yùn)行谷市,maven deploy也提示我正常蛔垢。可我在上面的步驟7生成jar包的時候迫悠,mvn install的時候一直報(bào)錯鹏漆,提示我找不到我上傳到私服的jar包。我在私服上是可以看到我上傳的jar包创泄,就是提示找不到艺玲。最后發(fā)現(xiàn)原來是配置了多個maven-plugin導(dǎo)致我上傳的jar包有問題,系統(tǒng)也不提示鞠抑。找了好長時間板驳。郁悶死了。

2:生成鏡像的時候碍拆,一定要把私服的ip+端口封進(jìn)去,docker build -t "192.168.155.100:8082/rc-alarm-engine" 這樣寫。如果不寫私服的ip+端口感混,生成的鏡像是傳不到私服上的端幼。 請大家注意。

3:maven 總結(jié)

一:mvn install 命令會從遠(yuǎn)程pull鏡像弧满。當(dāng)你的項(xiàng)目配置了<distributionManagement>它會從你的私服上pull數(shù)據(jù)婆跑。 你本地工程有也沒用。如果你不配置<distributionManagement>庭呜,mvn install 會在你本地找是否有數(shù)據(jù)滑进。 感覺這個是eclipse和idea自己加進(jìn)來的功能,不是maven本身的用法募谎。(自己猜的)

二:在本地的.m2下配置的setting.xml文件扶关,<server>是配置push密碼的。<mirrors>相當(dāng)于一個攔截器数冬,攔截pull

<profile>配置pull文件的路徑节槐。這個一般最好在工程中配置,因?yàn)閜ull下來的東西都是工程在使用的拐纱,跟著工程走感覺更加合理铜异。

具體的setting配置可以上網(wǎng)找找文章看看。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末秸架,一起剝皮案震驚了整個濱河市揍庄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌东抹,老刑警劉巖蚂子,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異府阀,居然都是意外死亡缆镣,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進(jìn)店門试浙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來董瞻,“玉大人,你說我怎么就攤上這事田巴∧坪” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵壹哺,是天一觀的道長抄伍。 經(jīng)常有香客問我,道長管宵,這世上最難降的妖魔是什么截珍? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任攀甚,我火速辦了婚禮,結(jié)果婚禮上岗喉,老公的妹妹穿的比我還像新娘秋度。我一直安慰自己,他們只是感情好钱床,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布荚斯。 她就那樣靜靜地躺著,像睡著了一般查牌。 火紅的嫁衣襯著肌膚如雪事期。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天纸颜,我揣著相機(jī)與錄音兽泣,去河邊找鬼。 笑死懂衩,一個胖子當(dāng)著我的面吹牛撞叨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播浊洞,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼牵敷,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了法希?” 一聲冷哼從身側(cè)響起枷餐,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎苫亦,沒想到半個月后毛肋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡屋剑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年润匙,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片唉匾。...
    茶點(diǎn)故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡孕讳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出巍膘,到底是詐尸還是另有隱情厂财,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布峡懈,位于F島的核電站璃饱,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏肪康。R本人自食惡果不足惜荚恶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一撩穿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧裆甩,春花似錦冗锁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽箍邮。三九已至茉帅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間锭弊,已是汗流浹背堪澎。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留味滞,地道東北人樱蛤。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像剑鞍,于是被迫代替她去往敵國和親昨凡。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容