docker镜像实战,创建自己的tomcat镜像并发布到远程仓库

1、创建自己的tomcat镜像

1. 准备tomcat压缩包,jdk的压缩包

在这里插入图片描述

2. 编写dockerfile文件

编写dockerfile文件,官方命名Dockerfile,build会自动寻找这个文件,就不需要 -f 指定了!

FROM centos
MAINTAINER ybg<[email protected]>

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

ADD jdk-8u281-linux-x64.tar.gz /usr/local
ADD apache-tomcat-9.0.34.tar.gz /usr/local/

RUN yum -y install vim

ENV MYPATH /usr/local
WORKDIR $MYPATH

ENV JAVA_HOME /usr/local/jdk1.8.0_281
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools/jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.34
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.34
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080

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

3. 构建镜像

docker build -t diytomcat .

截图:
在这里插入图片描述

4. 启动镜像

docker run -d -p 8003:8080 --name ybgtomcat -v /home/ybg/build/tomcat/test:/usr/local/apache-tomcat-9.0.34/webapps/test -v /home/ybg/build/tomcat/tomcatlogs:/usr/local/apache-tomcat-9.0.34/logs diytomcat

截图:
在这里插入图片描述
测试:
8003端口访问成功!
在这里插入图片描述

5. 发布项目

由于我们做了卷挂载,我们只需要在/home/ybg/build/tomcat/test 目录下发布我们的项目即可
我们在该目录下建一个index.html文件

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>try</title>
</head>

<body>
<h1>
YBG 的第一个tomcat镜像!
</h1>
</body>

</html>

在主机上新建一个index.html
在这里插入图片描述
测试:
8003端口下的test目录,测试成功!
在这里插入图片描述

2、发布自己的镜像

1、DockerHub

1. 注册一个可以登录的DockerHub账号

注册地址:https://hub.docker.com/

2. 在你所在的云服务器登录DockerHub账号

docker login -u yybg 

然后输入密码,密码正确即可登录成功!
在这里插入图片描述

3. 发布镜像

 docker push 用户名/ybgtomcat:1.0

注意:push的东西一定要是 用户名/容器名:版本号,不然会拒绝push,而用户名/ybgtomcat是你的本地镜像的名字

截图:
在这里插入图片描述
如果你一开始的名字不是 用户名/容器名 那么可以通过命令修改

docker tag 镜像id 用户名/容器名:版本号

截图:
在这里插入图片描述

2、阿里云仓库

1. 登录阿里云,找到容器镜像服务

在这里插入图片描述

2. 创建镜像仓库

在这里插入图片描述

选择本地仓库
在这里插入图片描述
创建成功后就可以看到如下信息
在这里插入图片描述
我们点进去,可以看到很多信息
在这里插入图片描述

3. 在云服务器操作

将镜像推送到Registry

 docker login --username=叶本国 registry.cn-shenzhen.aliyuncs.com
 docker tag [ImageId] registry.cn-shenzhen.aliyuncs.com/docker-ybg/docker-test:[镜像版本号]
 docker push registry.cn-shenzhen.aliyuncs.com/docker-ybg/docker-test:[镜像版本号]

请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。
截图:
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43520670/article/details/113665064