Docker运行web应用

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编辑镜像信息,编辑镜像依赖,所有者信息并且拷贝应用到tomcatwebapps目录
from hub.c.163.com/library/tomcat

MAINTAINER shenke [email protected]

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中应用生成的表

你可能感兴趣的:(Docker运行web应用)