欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > 编写Dockerfile制作tomcat镜像,生成镜像名为tomcat:v1,并推送到私有仓库。

编写Dockerfile制作tomcat镜像,生成镜像名为tomcat:v1,并推送到私有仓库。

2025/3/13 11:29:28 来源:https://blog.csdn.net/Hurry6/article/details/146204175  浏览:    关键词:编写Dockerfile制作tomcat镜像,生成镜像名为tomcat:v1,并推送到私有仓库。

1.具体要求如下:

  •     基于rockylinux:8基础镜像; 
  •     指定作者为openlab;
  •     安装tomcat服务,暴露8080端口;
  •     设置服务自启动。

总结步骤:基于rockylinux:8,安装Java环境,安装Tomcat,配置,暴露端口,设置启动命令,然后构建镜像,打标签,推送到私有仓库。

宿主机:

创建tomcat目录并进入: mkdir tomcat  ;  cd tomcat

2.下载所需文件(jdk和tomcat)

apache-tomcat-9.0.102.tar.gz   和  jdk-8u261-linux-x64.rpm

3、编写Dockerfile
    
    FROM rockylinux:8
    MAINTAINER openlab <openlab@123.com>

    

FROM rockylinux:8
MAINTAINER openlab <openlab@123.com>
COPY  jdk-8u261-linux-x64.rpm /opt/jdk-8u261-linux-x64.rpm
ADD apache-tomcat-9.0.102.tar.gz /usr/local
RUN yum install -y /opt/jdk-8u261-linux-x64.rpm && ln -s /usr/local/apache-tomcat-9.0.102 /usr/local/tomcat
EXPOSE 8080
CMD ["/usr/local/tomcat/bin/catalina.sh","run"]

4、制作镜像

    docker build -t tomcat:v1 .

5、测试镜像

docker run -d --name a1 -p 8080:8080 tomcat:v1

执行后,通过docker ps -a 查看 发现容器未启动

排查方法:
    查看日志  docker logs c1 
    ...
    library initialization failed - unable to allocate file descriptor table - out of memory
    
    内存溢出,错误原因通常是由于系统资源不足,特别是文件描述符(file descriptor, FD)的数量不足


解决方法:
    方法1: 在执行 docker run 命令时添加参数 --ulimit nofile=65535:65535 --ulimit nproc=65535:65535
        docker run  -d -p 8080:8080  --ulimit nofile=65535:65535 --ulimit nproc=65535:65535  tomcat:v1


        
    

       方法2: 修改docker服务脚本
         vim /usr/lib/systemd/system/docker.service

        在`ExecStart`参数值后面追加 `--default-ulimit nofile=65535:65535`,这样就能为创建的容器设置一个较高的文件描述符限制了。

        编辑完成后,重新加载systemd的配置,并重启Docker服务:
        输入以下命令:
            systemctl daemon-reload
            systemctl restart docker

然后再进行测试

6.标记镜像为私有仓库格式

 docker tag   tomcat:v1   192.168.234.15:5050/openlab/tomcat:v1

7.登录到私有仓库并推送镜像

docker login 192.168.234.15:5050

docker push 192.168.234.15:5050/tomcat:v1

推送成功!!!


 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词