使用docker部署javaweb的war包

2020年11月14号更新:之前的部署方法麻烦了一些,对于我这种比较简单的项目可能不需用dockerfile构建镜像。之前的方式没有使用数据卷,也不利于修改项目的配置文件。

项目有点老,我拉取最新的tomcat里面的jdk是11版本的,然后报了一些错,所以我指定了一下版本,拉取的tomcat8:

docker pull tomcat:8.0.52

运行容器:

docker run -p 8081:8080 --name eocs -d -v /home/nc/projects/eocs/ROOT:/usr/local/tomcat/webapps/ROOT tomcat:8.5.40
  • -p将宿主机的8081端口映射到容器的8080端口
  • --name后面是启动的容器名eocs
  • -v是将宿主机的/home/nc/projects/eocs/ROOT目录映射到容器的/usr/local/tomcat/webapps/ROOT,我在宿主机的该目录提前准备好了ROOT文件夹里面的内容,容器起来之后会将该文件夹里的内容同步到容器对应位置中,这样修改容器里的内容会容易很多
  • 最后面tomcat:8.5.40是镜像名

-------------------------------------------------- 分割符 ---------------------------------------------

  1. 查找Docker Hub上的tomcat镜像 docker search tomcat,这里我下载的是第一个
    在这里插入图片描述
  2. 新建工作目录,比如我mkdir docker/eocs存放eocs这个项目相关的东西
  3. 上传war包,因为我习惯以根目录访问项目,而不是多一个项目名。在这里插入图片描述但是修改容器的配置文件又有点麻烦。所以我将生成的war包更名为ROOT.war在这里插入图片描述
  4. 新建Dockerfile,并编写:
    Dockerfile详细内容见 使用Dockerfile定制镜像
# 使用刚才pull的tomcat作为基础镜像
FROM tomcat
# 删除这个文件夹下的所有内容
RUN rm -rf /usr/local/tomcat/webapps/*
# 将要部署的war包复制到这个文件夹下
COPY ROOT.war   /usr/local/tomcat/webapps
  1. 生成镜像 docker build -t [要生成的镜像名] .
    注意最后面的点,指的当前工作的上下文,否则找不到dockerfile文件
  2. 基于这个镜像启动容器docker run -d -p 8080:8080 [镜像名]
    -d表示在后台运行,-p [宿主机端口]:[容器端口]表示将容器的端口映射到宿主机的端口
  3. 这个时候就可以使用ip:宿主机端口访问到项目了
  4. 查看指定容器的log docker logs -f 容器id
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值