上一篇文章寫了docker的安裝嗅辣,以及一些命令撼泛,這一節(jié),我們看下如何創(chuàng)建自己的鏡像澡谭,以及安裝一套java Web的運(yùn)行環(huán)境愿题。(這一次在windows環(huán)境下進(jìn)行,docker已經(jīng)提供了windows的版本蛙奖。)
1獲取一個(gè)用來(lái)制作我們鏡像的基礎(chǔ)鏡像
windows版本的docker與linux的完全一致潘酗,所有的命令也都一樣,首先雁仲,我們先獲取基礎(chǔ)鏡像仔夺,這里用centos鏡像作為基礎(chǔ)鏡像。
docker pull centos
獲取到centos鏡像后攒砖,我們進(jìn)入到鏡像
PS C:\Users\Di> docker run -i -t -v /e/docker/:/mnt/soft/ 67591570dd29 /bin/bash
參數(shù)介紹:
-i:表示以“交互模式”運(yùn)行容器
-t:表示容器啟動(dòng)后會(huì)進(jìn)入其命令行
-v:表示需要將本地哪個(gè)目錄掛載到容器中缸兔,格式:-v <宿主機(jī)目錄>:<容器目錄>
67591570dd29 是鏡像id也可以用鏡像名稱。/bin/bash 表示進(jìn)入到鏡像后要運(yùn)行命令行吹艇。
進(jìn)入到鏡像后如下:
這時(shí)惰蜜,就可以在鏡像中進(jìn)行操作了。
1.把linux版本的jdk受神,tomcat都放到剛剛宿主機(jī)的掛載目錄下
如我剛剛的目錄是e盤下的docker目錄抛猖。
2.現(xiàn)在進(jìn)入到docker剛剛掛載的目錄/mnt/soft/
[root@a67e130865d6 soft]# cd /mnt/soft
可以查看到此目錄下在宿主機(jī)的目錄下剛剛放的文件
3.在鏡像中創(chuàng)建一個(gè)目錄。
[root@a67e130865d6 soft]# mkdir /app
4.將掛載目錄下的tomcat文件和jdk文件cp到剛剛建好的目錄下
[root@a67e130865d6 soft]# cp -R * /app
5.進(jìn)入到剛剛創(chuàng)建的目錄下,解壓tomcat和jdk壓縮包
解壓縮安裝文件财著,獲取到tomcat和jdk的壓縮包养交。
6.安裝tomcat
jdk解壓縮就可以用,不需要配置瓢宦,tomcat需要配置一下啟動(dòng)腳本,將jdk環(huán)境變量添加到tomcat的啟動(dòng)腳本中灰羽,當(dāng)然驮履,也可以設(shè)置全局變量,將JAVA_HOME設(shè)置為全局變量廉嚼, 就不需要修改tomcat的啟動(dòng)腳本了玫镐。
[root@a67e130865d6 app]# cd apache-tomcat-6.0.44/bin
[root@a67e130865d6 bin]# vi catalina.sh
添加環(huán)境變量到catalina.sh文件中
JAVA_HOME=/app/jdk1.6.0_31
JRE_HOME=/app/jdk1.6.0_31/jre
保存退出。
7.設(shè)置tomcat啟動(dòng)腳本
在/app/目錄下怠噪,新建run.sh
文件內(nèi)容如下:
#!/bin/bash
sh /app/apache-tomcat-6.0.44/bin/catalina.sh run
退出編輯恐似,給此執(zhí)行文件授權(quán)
[root@a67e130865d6 app]# chmod a+x run.sh
8.退出容器。使用exit命令傍念。
此時(shí)在宿主機(jī)下矫夷,運(yùn)行如下命令,查看運(yùn)行的鏡像
PS C:\Users\Di> docker ps -a
9.創(chuàng)建自己的docker鏡像
這里有兩種方式憋槐,一種是通過(guò)commit命令的方式双藕,另一種是通過(guò)dockerfile build方式。今天只列舉commit命令的方式
PS C:\Users\Di> docker commit a67e130865d6 didi/javaweb:0.1
其中a67e130865d6 是鏡像中容器的id阳仔。 后面的didi/javaweb是鏡像名稱忧陪,0.1是tag標(biāo)簽。
執(zhí)行完成后近范,有必要檢查一下自己的鏡像是否創(chuàng)建成功嘶摊。
發(fā)現(xiàn)已經(jīng)有了。
10.啟動(dòng)自己的docker容器评矩。
docker run -d -p 8011:8088 --name didiweb 83fd80f18540 /app/run.sh
-d表示靜默運(yùn)行叶堆。
-p表示宿主機(jī)和容器的端口映射,此處示例是把宿主機(jī)的8011端口映射到docker容器的8088端口稚照。
--name就是一個(gè)別名蹂空,隨便起就可以
83fd80f18540 是鏡像id
/app/run.sh是剛剛我們創(chuàng)建的運(yùn)行腳本。
啟動(dòng)完成果录,打開(kāi)瀏覽器驗(yàn)證一下吧上枕。
http://127.0.0.1:8011
下一篇我們講一下用dockerfile的方式發(fā)布自己的鏡像。