Docker入门(10):Dockerfile构建centos+tomcat+jdk


准备

tomcat压缩包,jdk压缩包
下面的配置根据自己的jdk、tomcat版本灵活修改
压缩包

编写Dockerfile

创建存放dockerfile的文件夹

sudo mkdir /home/dockerfiles

编写自己的dockerfile

sudo vim /home/dockerfiles/dockerfile-tomcat

添加以下内容

FROM centos:7
# 作者
MAINTAINER sjj<2039274074@qq.com>

# 添加压缩包
ADD jdk-8u321-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.58.tar.gz /usr/local/
# 工作目录
ENV MYPATH /usr/local
WORKDIR $MYPATH

# 环境配置
ENV JAVA_HOME /usr/local/jdk1.8.0_321
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.58
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.58
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

# 安装软件
RUN yum -y install vim
RUN yum -y install net-tools

# 暴露端口
EXPOSE 8080

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

使用dockerfile

生成镜像

docker build -f /home/dockerfiles/dockerfile-tomcat --tag sjj/tomcat:latest .

我们查看一下镜像

docker images
images
我们可以看见这个就是我们自己创造的镜像了

运行自己的镜像

docker run --name my-tomcat \
-p 8080:8080  \
-v /home/sjj/tomcat/webapps/test:/usr/local/apache-tomcat-9.0.58/webapps/test \
-v /home/sjj/tomcat/logs:/usr/local/apache-tomcat-9.0.58/logs \
-d sjj/tomcat

运行结果
我们看见挂载也没有问题

检测

访问机器IP:8080

访问

创建文件

sudo mkdir /home/sjj/tomcat/webapps/test/WEB-INF/
cd /home/sjj/tomcat/webapps/test/WEB-INF/
  • 编辑web.xml文件
sudo vim web.xml

添加以下配置

<?xml version="1.0" encoding="UTF-8"?>


  • 编辑index.html文件
sudo vim index.html

随便写个页面





tomcat测试


 

测试

呀吼~~~~~

访问test 机器IP:8080/test

成功??
测试

发布镜像到DockerHub

前提

拥有自己的DockerHub账号

登录docker

docker login -u 用户名 -p 密码

提交镜像

修改tag(不修改很有可能被拒绝

docker tag 源镜像:版本 修改镜像:版本

上传镜像

docker push 修改镜像:版本

上传

查看自己的镜像是否上传成功
成功,嚯嚯嚯