1.版本
system: centos6.5
2.制作自己的镜像
- 下载开源war包当作自己的应用测试:https://gitee.com/GalaIO/jpress/blob/master/wars/jpress-web-newest.war
- 或者使用自己的应用war包
- 拉取运行应用依赖的镜像:
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验证是否拉取
验证拉取的镜像
vi Dockerfile编辑镜像信息,编辑镜像依赖,所有者信息并且拷贝应用到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 .编译为镜像,.表示当前目录

编译为镜像
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql:latest启动mysql
docker run -d -p 8888:8080 jpress-web-newest:latest启动tomcat
docker ps查看进程

查看进程
http://192.168.100.3:8888/访问tomcat

访问Tomcat
http://192.168.100.3:8888/jpress-web-newest/访问应用

访问应用
用工具访问mysql

访问mysql
- 因为部署的应用环境和
mysql环境是互相隔离的,所以需要获取mysql容器的ip才能连接
docker exec -it cec1e64c9416 bash进入mysql容器
cat /etc/hosts查看mysql容器的ip,本机开发环境下访问mysql只需填写宿主机ip即可,但tomcat镜像内的应用访问需要填写mysql容器的ip,因为docker容器环境是互相隔离的

查看mysql容器的ip

配置数据库,启动mysql的时候已经创建了jpress数据库,填写账号密码以及容器的ip

继续配置
docker restart 6bda792d5b10配置完后后重启tomcat容器,再次访问即可

成功访问应用,并且访问到了mysql

mysql中应用生成的表
