本文讲解如何制作自己的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

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

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、访问查看
数据卷挂载成功

6、发布项目
已经挂载了数据卷,所以编写宿主机的项目文件就可以了
在挂载路径 /home/xiao/build/tomcat/test
下
- 新建文件
web.xml
,内容如下:
- 新建文件
index.jsp
,内容如下:
Hello World!
xiao
7、浏览器访问
url: ip:port/test

8、查看日志卷
tail -f catalina.out

完成从构建镜像到部署项目🎈🎈
我是 甜点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/
转载文章受原作者版权保护。转载请注明原作者出处!