Centos7系統(tǒng)Docker安裝-配置-調(diào)試-應用
192.168.102.44学搜,192.168.102.45,192.168.102.46分別執(zhí)行” yuminstall docker-io
”命令,在線安裝docker工具
1.Linux虛擬機Centos 7.0,服務器CPU:i5 雙核以上,內(nèi)存:2G以上
3.機器名 ip地址 安裝軟件
test1???????? 192.168.102.44
test2 ?????? 192.168.114.45
test3 ?????? 192.168.114.46
1、啟動docker及查看服務
啟動docker命令: service docker start
停止docker命令: service docker stop
查看docker版本: docker version
Docker信息:???????? ?docker info
2瞻离、編譯docker鏡像
2.0 ?docker部署可執(zhí)行jar包
首先將spring-boot工程編譯導出jar包,例如:docker-springboot-0.0.1-SNAPSHOT.jar乒裆,將jar包上傳到192.168.102.44任意目錄下保存套利。
在/usr任意目錄下建立一個docker目錄,用于編譯鏡像使用,該目錄名字由自己定義,可以與鏡像名稱相同肉迫,例如:/usr/docker-springboot
在/usr/docker-springboot目錄下新建一個名為Dockerfile文件(命令: ?vi Dockerfile)验辞,注意該文件無后綴,并將spring-boot工程jar 拷貝到此目錄下(jar包必須與Dockerfile在同一目錄下),見圖:
Dockerfile文件中的內(nèi)容使用SpringBoot官網(wǎng)推薦:
#?基礎鏡像
FROM?openjdk:7
#?VOLUME命令用于讓你的容器訪問宿主機上的目錄昂拂。
VOLUME?/tmp
#?ADD命令有兩個參數(shù)受神,源和目標。它的基本作用是從源系統(tǒng)的文件系統(tǒng)上復制文件到目標容器的文件系統(tǒng)格侯。如果源是一個URL鼻听,那該URL的內(nèi)容將被下載并復制到容器中。
ADD?docker-springboot-0.0.1-SNAPSHOT.jar?app.jar
#?RUN命令是Dockerfile執(zhí)行命令的核心部分联四。它接受命令作為參數(shù)并用于創(chuàng)建鏡像撑碴。
RUN?sh?-c?'touch?/app.jar'
ENV命令用于設置環(huán)境變量。這些變量以”key=value”的形式存在朝墩,并可以在容器內(nèi)被腳本或者程序調(diào)用醉拓。
ENV?JAVA_OPTS=""
#?ENTRYPOINT?幫助你配置一個容器使之可執(zhí)行化
ENTRYPOINT?[?"sh",?"-c",?"java?$JAVA_OPTS?-Djava.security.egd=file:/dev/./urandom?-jar?/app.jar"?]
注意:需要將ADD中的第一個jar包改成自己的jar包名字即可。
接下來開始生產(chǎn)鏡像收苏,命令進入(cd /usr/docker-springboot)亿卤,執(zhí)行以下命令:
docker build -tdockerspringboot:0.1.0 .
注意:改命令結(jié)尾有一個點符號。
如下圖:
如果執(zhí)行成功(Successfullybuilt)即代表鏡像生成完成鹿霸。
使用查看鏡像命令: ?docker images
可以查看生成鏡像及版本號排吴,如下圖:
鏡像生成以后,需要docker容器來啟動鏡像懦鼠,啟動容器命令如下:
docker run -d -p 8080:8080dockerspringboot:0.1.0
注意:-d代表容器啟動后返回容器ID
-p代表機器端口映射到容器端口钻哩,前面端口代表機器端口,后面端口代表容器端口肛冶。(注:一臺物理機可以啟動幾千個容器街氢,因此機器端口和容器端口映射關(guān)系可以自己定義)
最后一項是鏡像名加鏡像版本號。
如下圖:
查看容器狀體命令:
docker ps查看所有運行中容器
docker ps -l查看最近一條啟用容器
如下圖:
到此睦袖,spring-boot工程jar包利用docker部署已經(jīng)完成珊肃,可以檢查部署效果了。
驗證部署效果:
以上jar包是本人自己寫的一個測試小程序馅笙,訪問地址及效果如下圖:
Docker是為微服務華部署所應用工具伦乔,因此一般服務都會部署多份,如何利用docker多機部署了延蟹?
1.本地鏡像導出评矩,導入
2.多臺機器啟動同一鏡像
具體方法如下:
1叶堆,查看要導出鏡像id
2,選擇要打包的鏡像阱飘,執(zhí)行打包命令
docker save -odockerspringboot.tar dockerspringboot
會在當前目錄下生成導出文件dockerspringboot.tar,然后就可以將該文件拷貝到其他機器上,例如:192.168.102.45:/usr
3沥匈,在其他機器上導入鏡像
4,在192.168.102.45上啟動docker容器加載鏡像蔗喂,就可以再另外機器上部署應用成功了
5, 驗證效果如下:
2.1 ?docker部署tomcat中的war包
2.1.1 ?在192.168.102.46上新建tomcat文件夾高帖,用于存放部署tomcat的Dockerfile和需要部署到tomcat/webapps中的war包缰儿,命令如下:
mkdir /usr/tomcat
建立成功后,如圖:
修改Dockfile中構(gòu)建鏡像的命令:
FROM tomcat
ADDdockerwar.war /usr/local/tomcat/webapps/
CMD["catalina.sh", "run"]
注: /usr/local/tomcat/webapps/ 此路徑為tomcat下war包的存放路徑散址,利用ADD就是將本地war包拷貝到tomcat下乖阵,CMD中配置tomcat的啟動路徑,如果要輸出日志信息可以修改為:CMD ["catalina.sh;tail-F /usr/local/tomcat/logs/catalina.out", "run"]
然后將需要發(fā)布的war包拷貝到/usr/tomcat目錄下预麸。
2.1.2 創(chuàng)建新的鏡像文件瞪浸,輸入命令:
(1)???cd /usr/tomcat
(2)???docker build -t tomcat2 .
如下圖:
(3)輸入:docker images,查看鏡像吏祸,如下圖:
(4)啟動容器对蒲,加載鏡像,發(fā)布應用贡翘,輸入命令:
dockerrun -d -p 8080:8080 tomcat2
(5)查看容器蹈矮,輸入命令:
Docker ps-a
如下圖:
(6),驗證發(fā)布程序鸣驱,如下圖: