1.版本
system: centos6.5
2.制作自己的鏡像
- 下載開源war包當(dāng)作自己的應(yīng)用測(cè)試:https://gitee.com/GalaIO/jpress/blob/master/wars/jpress-web-newest.war
- 或者使用自己的應(yīng)用war包
- 拉取運(yùn)行應(yīng)用依賴的鏡像:
tomcat&mysql
docker pull hub.c.163.com/library/tomcat:latest
拉取tomcat
鏡像,已包含jdk
docker pull hub.c.163.com/library/mysql:latest
拉取mysql
鏡像
docker images
驗(yàn)證是否拉取
驗(yàn)證拉取的鏡像
vi Dockerfile
編輯鏡像信息,編輯鏡像依賴,所有者信息并且拷貝應(yīng)用到tomcat
的webapps
目錄
from hub.c.163.com/library/tomcat
MAINTAINER shenke xxx@163.com
COPY jpress-web-newest.war /usr/local/tomcat/webapps/
docker build -t jpress:latest .
編譯為鏡像,.
表示當(dāng)前目錄
編譯為鏡像
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql:latest
啟動(dòng)mysql
docker run -d -p 8888:8080 jpress-web-newest:latest
啟動(dòng)tomcat
docker ps
查看進(jìn)程
查看進(jìn)程
http://192.168.100.3:8888/訪問(wèn)tomcat
訪問(wèn)Tomcat
http://192.168.100.3:8888/jpress-web-newest/訪問(wèn)應(yīng)用
訪問(wèn)應(yīng)用
用工具訪問(wèn)mysql
訪問(wèn)mysql
- 因?yàn)椴渴鸬膽?yīng)用環(huán)境和
mysql
環(huán)境是互相隔離的,所以需要獲取mysql
容器的ip
才能連接
docker exec -it cec1e64c9416 bash
進(jìn)入mysql
容器
cat /etc/hosts
查看mysql
容器的ip
,本機(jī)開發(fā)環(huán)境下訪問(wèn)mysql
只需填寫宿主機(jī)ip
即可,但tomcat
鏡像內(nèi)的應(yīng)用訪問(wèn)需要填寫mysql
容器的ip
,因?yàn)?code>docker容器環(huán)境是互相隔離的
查看mysql容器的ip
配置數(shù)據(jù)庫(kù),啟動(dòng)mysql的時(shí)候已經(jīng)創(chuàng)建了jpress數(shù)據(jù)庫(kù),填寫賬號(hào)密碼以及容器的ip
繼續(xù)配置
docker restart 6bda792d5b10
配置完后后重啟tomcat
容器,再次訪問(wèn)即可
成功訪問(wèn)應(yīng)用,并且訪問(wèn)到了mysql
mysql中應(yīng)用生成的表