使用docker部署第一个war应用
来源:互联网 发布:知天命解释 编辑:程序博客网 时间:2024/06/05 17:35
随着docker等容器技术的成熟,使得dev-ops的开发理念得到落实。公司内部提供的容器都是封装好的,于是决定尝试自己在docker上部署第一个应用来练习练习,还是有不少坑的。前提是docker已经在本地安装了,具体安装步骤可以上官网查看。
1、拉取最新的tomcat镜像到本地
sudo docker pull tomcat
2、基于Dockerfile创建镜像文件
dockerfile可以帮助我们创建自定义的镜像,本文比较简单直接基于最新的tomcat镜像,当然tomcat镜像也可以自定义(tomcat版本、jdk版本)。
新建Dockerfile文件,并将需要部署的war包放在相同文件夹下。
Dockerfile文件内容如下:
FROM tomcat #基础镜像MAINTAINER "test <yanyuan904@163.com>" # 套路ENV DIR_WEBAPP /usr/local/tomcat/webapps/ # 定义变量、后续会使用 ,具体路径可以先启动容器然后进入进行查看RUN rm -rf $DIR_WEBAPP/* #删除webapp下所有文件,因为当前应用作为根应用ADD virtualShop-man.war $DIR_WEBAPP/ROOT.war RUN unzip $DIR_WEBAPP/ROOT.war -d $DIR_WEBAPP/ROOT/CMD ["catalina.sh", "run"]
构建镜像文件:
sudo docker build -t hulk-tomcat .
执行成功后本地会多出一个镜像
3、运行镜像
sudo docker run -d -p 8888:8080 hulk-tomcat
容器启动正常,但是应用报错了。恩,第一次哪能这么顺利。查看日志是差相关host配置。配置host有多种方式,启动时配置或者修改容器配置(不推荐),这里介绍通过与主机共享host文件的方式:
(停止刚启动的容器并删除)
sudo docker run -v /etc/hosts:/etc/hosts -d -p 8888:8080 hulk-tomcat
容器启动之后发现应用还是报错了: ??: Name or service not known(??就是容器的id)。在容器里执行 hostname也会提示这个错误。。这是因为没有设置容器hostname,默认就使用了容器id 。
sudo docker run -v /etc/hosts:/etc/hosts -h ubuntu -d -p 8888:8080 hulk-tomcat
给容器hostname命名为ubuntu ,因为宿主机器叫这个然后hosts文件有ubuntu的配置(共享host)。
启动正常可以访问!!!
恩,接下来就是nginx相关的配置了,监听8888端口就可以啦。还有一些细节问题 比如打印日志的时区不对等
阅读全文
1 0
- 使用docker部署第一个war应用
- 第一个Docker应用
- 云主机Docker部署第一个应用helloworld
- Docker Tomcat容器部署web应用(war)
- 4.使用Docker部署应用
- 使用docker部署springboot应用
- Docker中使用Tomcat并部署war工程
- Docker中使用Tomcat并部署war工程
- 打war部署应用
- Docker入门系列(二):构建第一个docker应用
- 使用Docker在生产环境部署应用
- 在生产环境使用Docker部署应用
- Docker使用之Java web应用部署
- 使用Docker部署 spring-boot maven应用
- 使用Docker部署 spring-boot maven应用
- 迈出使用Docker的第一步,学习第一个Docker容器
- Docker的使用--第一个Docker镜像(二)
- docker下部署Tomcat运行war包
- 暑末 Day2 T1 Azuki has to work
- Android智能指针分析(sp、wp)
- 吉比特2017年秋招编程题:字符串排序
- A
- 电子邮件.NET控件MailBee.NET Objects使用指南合集(上)
- 使用docker部署第一个war应用
- 系统与管理命令--信息与统计类
- js格式化时间函数
- Java使用QQ邮箱发送邮件
- .NET 缓存机制
- 三星Galaxy S8屡获大奖,造机实力成坚实后盾
- android studio中遇到的错误及解决
- [Leetcode] 381. Insert Delete GetRandom O(1)
- HDU 2665 个人理解(主席树)