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]和[镜像版本号]参数。
截图: