DockerFile制作tomcat镜像以及发布镜像,发布镜像到阿里云容器服务器

Posted 疯狂小公举

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DockerFile制作tomcat镜像以及发布镜像,发布镜像到阿里云容器服务器相关的知识,希望对你有一定的参考价值。

DockerFile制作tomcat镜像大致步骤

1.mkdir /home/tomcat
2.在上述目录下 touch readme.txt
3.将jdk和tomcat安装的压缩包拷贝进上一步目录
4.在/home/tomcat目录下新建一个Dockerfile文件

先创建一个Dockerfile

vim Dockerfile

把以下内容写到Dockerfile中

FROM centos
MAINTAINER zheng<791060228@qq.com>

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

ADD jdk-8u91-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.53.tar.gz /usr/local/

RUN yum -y install vim

ENV MYPATH /usr/local
WORKDIR $MYPATH

ENV JAVA_HOME /usr/local/jdk1.8.0_91
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.53
ENV PATH $PATH:$JAVA_HOME/BIN:$CATALINA_HOME/LIB:$CATALINA_HOME/bin

EXPOSE 8080

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

构建镜像

注意不要忘记最后一个点

docker build -f Dockerfile -t diytomcat:1.0 .

运行启动镜像

docker run -d -p 9090:8080 --name zhengtomcat -v /home/tomcat/test:/usr/local/apache-tomcat-9.0.53/webapps/test -v /home/tomcat/tomcatlogs/:/usr/local/apache-tomcat-9.0.53/logs diytomcat:1.0

备注:Docker挂载主机目录Docker访问出现cannot open directory .: Permission denied
解决办法:在挂载目录后多加一个–privileged=true参数即可

访问测试

curl localhost:9090

访问端口9090

发布项目

由于做了卷挂载,我们直接在本地编写项目就可发布!
在/home/tomcat/test下面新建index.jsp, WEB-INF
然后再 WEB-INF下面新建一个web.xml

index.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>测试</title>
</head>
<body>
Hello World!<br/>
</body>
</html>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
</web-app>

重启项目

docker restart 容器id

检查是否能够正常连接

curl localhost:9090

发布镜像

查看登录命令

 docker login --help 

登录

 docker login -u 187zz990113

将镜像发布出去

 docker push 187zz990113/diytomact

拒绝:请求的资源访问被拒绝 denied: requested access to the resource is denied
解决方案:
本地镜像名无帐号信息,解决加 tag即可

docker tag diytomcat:1.0 187zz990113/diytomcat:1.0

或者

docker tag id 187zz990113/diytomcat:1.0

再进行push即可

docker push 187zz990113/diytomcat:1.0

阿里云镜像服务

登录阿里云

找到容器镜像服务


创建命名空间


创建镜像仓库



浏览阿里云

第一步登录

第二步给镜像打标签

第三步push 到阿里云


根据阿里云的这个命令进行上传

以上是关于DockerFile制作tomcat镜像以及发布镜像,发布镜像到阿里云容器服务器的主要内容,如果未能解决你的问题,请参考以下文章

DockerFile制作tomcat镜像以及发布镜像,发布镜像到阿里云容器服务器

云原生使用Dockerfile制作openGauss镜像

Docker Review - dockerfile 实战_使用dockerfile制作tomcat镜像

dockerfile构建Nginx,Tomcat镜像

dockerfile构建Nginx,Tomcat镜像

dockerfile构建Nginx,Tomcat镜像