1.部署tomcat
1.1.下载相关镜像tomcat8.5.20
$ docker pull tomcat:8.5.20
1.2 在/data目录下创建tomcat/webapps目录
mkdir -p /data/tomcat/webapps
注意:这里是准备将宿主机的/data/tomcat/webapps映射到容器的
/usr/local/tomcat/webapps目录,那么在创建tomcat-0容器后,
本应该存在与webapps目录下的原生目录(例如:manager等)都
将不存在,因为映射的宿主机目录/data/tomcat/webapps为空,
所以将不能采用tomcat原有部署方式,只能将war通过rz命令上传
至宿主机的/data/tomcat/webapps目录
1.2.测试镜像
$ docker run \
-p 8080:8080 \
--name tomcat-0 \
--privileged=true \
--restart=always \
-v /soft/tomcat/webapps:/usr/local/tomcat/webapps \
-e TZ=Asia/Shanghai \
-itd tomcat:8.5.20
注1:TZ=Asia/Shanghai用于设置时区为:亚洲/上海,可进入容器用如下命令进行查看
echo `date "+%Y-%m-%d %H:%M:%S"`
注2:以上容器的创建采用的是bridge默认网络
3.上传hello.war至/data/tomcat/webapps目录 rz hello.war
将war包拖入工具中
java -jar spring.jar --server/port=8081
太麻烦了这种方式,打包放在镜像中运行
编写vim Dockerfile
4.测试crm项目
http://xx.xx.xx.xx:8080/crm/sys/loginAction.action?username=zs&password=123
tomcat-0 -> bridge默认网络
mysql -> mynetwork自定义网络
2.部署web项目
向移植docker compose
详见/docker-compose/docker-compose-v1.yml文件
3.1.制作自己mytomcat:8.5.20镜像
1.上传相关文件至/docker-compse目录
Dockerfile-mytomcat8.5.20
wait-for-it.sh
2.制作自定义镜像
docker build -f Dockerfile-mytomcat8.5.20 -t mytomcat:8.5.20 .
3.2.移植到docker-compose使用自定义的mytomcat:8.5.20镜像构建tomcat容器。
详见docker-compose/docker-compose-v5.yml
docker-compose启动成功后,先停止tomcat容器,再停止mysql-master容器,再启动tomcat容器,查看tomcat容器日志,这时将提示wait等待中,最后在启动mysql-master后tomcat容器将正常启动。
#容器启停命令
docker -f docker-compose-v5.yml stop tomcat-0
docker -f docker-compose-v5.yml stop mysql-master
docker-compose -f docker-compose-v5.yml up -d tomcat-0
docker-compose -f docker-compose-v5.yml up -d mysql-master
#查看容器日志
docker-compose -f docker-compose-v5.yml logs -f tomcat-0
docker -f docker-compose-v5.yml logs -f