Docker学习笔记之Docker部署Java web系统

服务器 发布日期:2024/11/2 浏览次数:1

正在浏览:Docker学习笔记之Docker部署Java web系统

Docker部署Java Web系统

 1.在root目录下创建一个路径test/app mkdir test && cd test&& mkdir app &&cd app

2.将apache-tomcat-7.0.29.tar.gz及jdk-7u25-linux-x64.tar.gz拷贝 到app目录下

3.解压两个tar.gz文件

tar -zxvf apache-tomcat-7.0.29.tar.gz tar -zxvf jdk-7u25-linux-x64.tar.gz

4.对解压后的文件进行重命名

mv apache-tomcat-7.0.29 tomcat mv jdk-7u25-linux-x64 jdk

5.在app目录下,制作Dockerfile文件来创建镜像

touch Dockerfile

6.Dockerfile文档内容及注解

-----------------------------Dockerfile内容----------------------------------

 #使用ubuntu:14.04作为基础镜像
 FROM ubuntu:14.04
#指定镜像创建者信息
 MAINTAINER test xxxx@xxx.com
#创建日期
 ENV REFRESHED_AT 2017-2-15
#切换镜像目录,进入/usr目录
 WORKDIR /usr
#在/usr/下创建jdk目录,用来存放jdk文件
 RUN mkdir jdk
#在/usr/下创建tomcat目录,用来存放tomcat
 RUN mkdir tomcat
#切换镜像的目录至/usr/jdk
 WORKDIR /usr/jdk/

#将宿主机的jdk目录下的文件拷至镜像的/usr/jdk目录下
 ADD jdk /usr/jdk
#切换镜像的目录至/usr/tomcat
 WORKDIR /usr/tomcat
#将宿主机的tomcat目录下的文件拷至镜像的/usr/tomcat目录下
 ADD tomcat /usr/tomcat
#设置环境变量
 ENV JAVA_HOME=/usr/jdk
 ENV JAVA_BIN=/usr/jdk/bin
 ENV PATH=$PATH:$JAVA_HOME/bin
 ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#切换工作目录到ROOT下
 WORKDIR /usr/tomcat/webapps/ROOT
#删除tomcat默认的项目文件
 RUN rm -rf *
#将自己的xxx.war系统添加到docker镜像中tomcat下的ROOT目录下
 ADD webapp /usr/tomcat/webapps/xxx.war
#公布tomcat的8080端口
 EXPOSE 8080
#启动tomcat
 ENTRYPOINT ["../../bin/catalina.sh","run"]

---------------------------------------------------------------------------------

7.通过Dockerfile来创建镜像

命令:  

docker build -t 镜像名称:标签 Dockerfile位置
docker build -t tms:1.0 . (.代表当前目录)

Docker学习笔记之Docker部署Java web系统

Docker学习笔记之Docker部署Java web系统

8.至此就把Java Web系统制作成一个image,通过docker images来验证

9.通过刚构建镜像来启动一个Docker 容器

命令: docker run -d -p 宿主机映射端口:容器暴露端口 --name 容器名  镜像名称/镜像ID

-d 参数: 后端启动模式

-p 参数: 宿主机端口与容器端口的映射

--name 参数: 给容器起个别名

docker run -d -p 8081:8080 --name 容器名称 镜像name:镜像tag

10.通过docker ps -a来验证

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。