Docker | 制作tomcat镜像并部署项目

本文讲解如何制作自己的tomcat镜像,并使用tomcat部署项目

原料准备:

tomcat、jdk安装包,dockerfile文件

步骤

1、准备压缩包

jdk-8u301-linux-x64.tar.gz -> jdk1.8.0_301

apache-tomcat-7.0.107.tar.gz -> apache-tomcat-7.0.107

Docker | 制作tomcat镜像并部署项目

2、编写dockerfile文件

官方指定命名 Dockerfile,这样构建的时候不用加 -f参数指定文件

FROM centos
MAINTAINER xiao

COPY readme.txt /usr/local/readme.txt

ADD jdk-8u301-linux-x64.tar.gz /usr/local
ADD apache-tomcat-7.0.107.tar.gz /usr/local

RUN yum -y install vim

ENV MYPATH /usr/local

WORKDIR $MYPATH
ENV JAVA_HOME /usr/local/jdk1.8.0_301
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-7.0.107
ENV CATALINE_BASH /usr/local/apache-tomcat-7.0.107
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINE_HOME/bin

EXPOSE 8080

CMD /usr/local/apache-tomcat-7.0.107/bin/startup.sh && tail -f /usr/local/apache-tomcat-7.0.107/bin/logs/catalina.out

3、执行构建

docker build -t diytomcat . # 自动寻找Dockerfile文件

构建成功:

Successfully built e68ad8caa2a4

Successfully tagged diytomcat:latest

Docker | 制作tomcat镜像并部署项目

4、启动容器

/webapps/test 部署的项目路径,浏览器访问 ip:port/test

docker run -it -p 9090:8080 --name xiaoTomcat -v /home/xiao/build/tomcat/test:/usr/local/apache-tomcat-7.0.107/webapps/test -v /home/xiao/build/tomcat/tomcatlogs/:/usr/local/apache-tomcat-7.0.107/logs diytomcat

5、访问查看

数据卷挂载成功

Docker | 制作tomcat镜像并部署项目

6、发布项目

已经挂载了数据卷,所以编写宿主机的项目文件就可以了

在挂载路径 /home/xiao/build/tomcat/test

  1. 新建文件 web.xml,内容如下:

  1. 新建文件 index.jsp,内容如下:

Hello World!

xiao

7、浏览器访问

url: ip:port/test

Docker | 制作tomcat镜像并部署项目

8、查看日志卷

tail -f catalina.out

Docker | 制作tomcat镜像并部署项目

完成从构建镜像到部署项目🎈🎈

我是 甜点cc

热爱前端,也喜欢专研各种跟本职工作关系不大的技术,技术、产品兴趣广泛且浓厚,等待着一个创业机会。本号主要致力于分享个人经验总结,希望可以给一小部分人一些微小帮助。

希望能和大家一起努力营造一个良好的学习氛围,为了个人和家庭、为了我国的互联网物联网技术、数字化转型、数字经济发展做一点点贡献。 数风流人物还看中国、看今朝、看你我。

Original: https://www.cnblogs.com/all-smile/p/16791251.html
Author: 甜点cc
Title: Docker | 制作tomcat镜像并部署项目



相关阅读

Title: pandas类库常用方法的学习

一、Pandas 数据结构

1、import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

2、S1=pd.Series([‘a’,’b’,’c’]) series是一组数据与一组索引(行索引)组成的数据结构

3、S1=pd.Series([‘a’,’b’,’c’],index=(1,3,4)) 指定索引

4、S1=pd.Series({1:’a’,2:’b’,3:’c’}) 用字典形式指定索引

5、S1.index()返回索引

6、S1.values()返回值

7、Df=pd.DataFrame([‘a’,’b’,’c’])dataframe是一组数据与两组索引(行列索引)组成的数据结构

8、Df=pd.DataFrame([[a,A],[b,B],[c,C]],columns=[‘小写’,’大写’],index=[‘一’,’二’,’三’])

Columms 为列索引,index为行索引

9、pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspider清华镜像

10、data={‘小写’:[‘a’,’b’,’c’],’大写’:[‘A’,’B’,’C’]}传入字典

Df=Pd.DataFrame(data)

11、Df.index() df.columns()

二、读取数据

12、df=pd.read_excel(r’C:\user…xlsx’,sheet_name=’sheet1′) 或

Pd.read_excel(r’C:\user…xlsx’,sheet_name=0) 读取excel表

13、Pd.read_excel(r’C:\user…xlsx’,index_col=0,header=0)

index_col指定行索引,header指定列索引

14、pd.read_excel(r’C:\user…xlsx’,usecols=[0,1])导入指定列,不能有index_col和header

15、pd.read_tablel(r’C:\user…txt’,sep=’ ‘)导入txt文件,sep指定分隔符是什么

16、df.head(2)展示前两行,默认展示前5行

17、df.shap显示数据几行几列,不包含行和列索引

18、http://df.info() 可查看表中数据的类型

19、df.describe() 可获得表中数值类型指端的分布值(和、平均值、方差等)

三、数据预处理

20、http://df.info() 可显示表中哪个数据为空

21、df.isnull() 方法可以判断哪个值是缺失值,如果缺失返回True,否则为False

22、df.dropna() 默认删除含缺失值的行

23、df.dropna(how=’all’) 删除全为空值的行,不全为空值的行不会删除

24、df.fillna(0) 用0填充所有空值

25、df.fillna({‘性别’:’男’,’年龄’:’30’}) 对性别列中空值填充男,年龄填充30

26、df.drop_duplicates() 默认对所有值进行重复值检查,保留第一行的值

27、df.drop_duplicates(subset=’性别’) 对性别列中重复值查询保留第一行

28、df.drop_duplicates(subset=[‘性别’,’公司’],keep=’last’) 对性别和公司两列查重

keep设置默认为first(保留第一个),可设置为last(保留最后一个) 或False(不部不保留)

29、df[‘ID’].dtype 查看ID列的数据类型

30、df[‘ID’].astype(‘float’) 将ID列的数据类型转换为float类型

31、数据类型:int、float、object、string、unicode、datetime

32、df[‘ID’][1] ID列的第二个数据

33、df.columns=[‘大写’,’小写’,’中文’] 为无索引表添加列索引

34、df.index=[1,2,3] 添加行索引

35、df.set_index(‘编号’) 指明要用的列作为行索列

36、df.rename(index={‘订单编号’:’新订单编号’,’客户姓名’:’新客户姓名’}) 对行索引进行重新命名

37、df.rename(columns={1:’一’,2:’二’}) 对列索引进行重新命名

38、df.reset_index() 默认将全部index转化为column

39、df.reset_index(level=0) 将0级索引转化为column

40、df.reset_index(drop=True) 删除原有索引

四、数据选择

41、df[[‘ID’,’姓名’]] 多个列名要装入list

42、df.iloc[[1,3],[2,4]] 用行列编号选择数据

43、df.iloc[1,1] 选取表中的第3行2列数据,第一行默认为列索引

44、df.iloc[:,0:4] #获取第1列到第4列的值

45、df.loc[‘一’] #loc用行名选取的行数据,格式是Series,但可以用列表形式访问

46、df.loc[‘一’][0] 或 df.loc[‘一’][‘序号’]

47、df.iloc[1]#iloc用行编号选取行数据

48、df.iloc[[1,3]]#多行编号选取行数据,要用list封装,不然变成行列选取

49、df.iloc[1:3]#选择第二行和第四行

50、df[df[‘年龄’]

Original: https://blog.csdn.net/qq_58420786/article/details/120788937
Author: Aikuli
Title: pandas类库常用方法的学习

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/363521/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总