Docker运行web应用
2018-12-03 本文已影响0人
陪你一起debug
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

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

用工具访问mysql

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



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

