Docker使用dockerfile构建一个tomcat,并能正常访问

首先,服务器准备好jdk和tomcat

接着,编写dockerfile

#以centos作为基础镜像
FROM docker.io/centos
#维护者信息
MAINTAINER michard michard@qq.com
#切换目录到/usr
WORKDIR /usr
#创建JDK路径
RUN mkdir java
#创建tomcat路径
RUN mkdir tomcat
#将宿主主机的jdk复制到镜像里
ADD jdk /usr/java/
#将宿主主机的tomcat复制到镜像里
ADD tomcat8 /usr/tomcat/
#定义环境变量
ENV JAVA_HOME=/usr/java/
ENV JRE_HOME=$JAVA_HOME/jre/
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV path=/sbin:$JAVA_HOME/bin:$PATH
#向外暴露8080端口
EXPOSE 8080
#启动tomcat
ENTRYPOINT ["/usr/tomcat/bin/catalina.sh","run"]

第三步,进行dockerfile构建

[root@iZm5e3euwwjtgvn8yh8gb0Z home]# docker build -f tomcat_dockerfile -t tomcat8:1.8 .
Sending build context to Docker daemon   358 MB
Step 1/13 : FROM docker.io/centos
 ---> 300e315adb2f
Step 2/13 : MAINTAINER michard michard@qq.com
 ---> Using cache
 ---> 78dd1389d465
Step 3/13 : WORKDIR /usr
 ---> Using cache
 ---> ba7639cd6050
Step 4/13 : RUN mkdir java
 ---> Using cache
 ---> adc10b0cf035
Step 5/13 : RUN mkdir tomcat
 ---> Using cache
 ---> 99f1b232c5e9
Step 6/13 : ADD jdk /usr/java/
 ---> 04898a7db455
Removing intermediate container 7a0e398504b1
Step 7/13 : ADD tomcat8 /usr/tomcat/
 ---> c2b25ab1abdd
Removing intermediate container c1c2989d84ad
Step 8/13 : ENV JAVA_HOME /usr/java/
 ---> Running in 6111da0131f0
 ---> 4963c62383be
Removing intermediate container 6111da0131f0
Step 9/13 : ENV JRE_HOME $JAVA_HOME/jre/
 ---> Running in 1faf0ba20f26
 ---> f0c99dda1c77
Removing intermediate container 1faf0ba20f26
Step 10/13 : ENV CLASSPATH .:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
 ---> Running in 619266cfb87e
 ---> 07013ccfb186
Removing intermediate container 619266cfb87e
Step 11/13 : ENV path /sbin:$JAVA_HOME/bin:$PATH
 ---> Running in 0fab71579dc8
 ---> e5859280d2c0
Removing intermediate container 0fab71579dc8
Step 12/13 : EXPOSE 8080
 ---> Running in 982040669c85
 ---> f2495a2dfdd2
Removing intermediate container 982040669c85
Step 13/13 : ENTRYPOINT /usr/tomcat/bin/catalina.sh run
 ---> Running in 8ac42bb20646
 ---> 7dcb0d5ce8f3
Removing intermediate container 8ac42bb20646
Successfully built 7dcb0d5ce8f3
=============================================

构建成功,查看镜像

第四步,创建容器

访问8380

到此,dockerfile构建tomcat容器就完成了。

在我们的实际应用中,都是多容器部署,结合jenkins和git,提交代码,进行容器化部署更新。

之前我们也有讲过jenkins+docker+maven+git,(https://blog.youkuaiyun.com/u012373281/article/details/113062908)进行自动化部署。

我们在基于这个镜像,创建一个新的容器,启动时间也是毫秒级。

好的,我理解你的问题了。那么我将向你介绍如何编写一个Dockerfile,以改进Tomcat并使其能够正常访问使用。 首先,你需要在本地计算机上安装Docker。然后,创建一个名为`Dockerfile`的文件,并在其中添加以下内容: ``` # 使用官方Tomcat镜像作为基础镜像 FROM tomcat:latest # 设置工作目录 WORKDIR /usr/local/tomcat/ # 复制Tomcat管理工具的用户配置文件 COPY tomcat-users.xml /usr/local/tomcat/conf/ # 复制你的Web应用到Tomcat webapps目录下 COPY your-web-app.war /usr/local/tomcat/webapps/ # 修改Tomcat的配置文件,允许远程访问 RUN sed -i 's/<Valve/<!-- <Valve/g' /usr/local/tomcat/webapps/manager/META-INF/context.xml && \ sed -i 's/allow=\"127\.0\.0\.1|::1\"/allow=\".*\"/g' /usr/local/tomcat/webapps/manager/META-INF/context.xml # 暴露Tomcat的8080端口 EXPOSE 8080 ``` 接下来,你需要创建一个名为`tomcat-users.xml`的文件,并在其中添加以下内容: ``` <tomcat-users> <user username="admin" password="admin" roles="manager-gui,admin-gui"/> </tomcat-users> ``` 这将允许你使用用户名和密码`admin`登录Tomcat管理界面。 最后,将你的Web应用程序打包成`your-web-app.war`,并将其放置在与`Dockerfile`和`tomcat-users.xml`相同的目录中。 接下来,使用以下命令在Docker构建Tomcat镜像: ``` docker build -t tomcatpro . ``` 最后,使用以下命令运行Tomcat容器: ``` docker run -p 8080:8080 -d tomcatpro ``` 现在,你可以通过访问`http://localhost:8080/your-web-app`来访问你的Web应用程序了。同时,你也可以通过访问`http://localhost:8080/manager`来访问Tomcat管理界面,使用用户名和密码`admin`登录。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值