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