dockerfile生产案例-制作自定义tomcat业务镜像
2023-06-13 09:15:42 时间
生产案例:制作自定义tomcat业务镜像
基于官方提供的centos、debian、ubuntu、alpine等基础 镜像构建 JDK (Java环 境),然后再基于自定义的 JDK 镜像构建出业务需要的tomcat 镜像
自定义 Centos 系统基础镜像先基于官方提供的基础镜像,制作出安装了常用命令的自定义基础镜像
[root@ubuntu1804 ~]#docker pull centos:centos7.7.1908 [root@ubuntu1804 ~]#mkdir -p /data/dockerfile/{web/{nginx,tomcat,jdk},system/{centos,ubuntu,alpine,debian}} [root@ubuntu1804 ~]#cd /data/dockerfile/system/centos/ [root@ubuntu1804 centos]#vim Dockerfile [root@ubuntu1804 centos]#cat Dockerfile # Centos Base Image FROM centos:centos7.7.1908 LABEL maintainer= wangxiaochun root@wangxiaochun.com RUN yum -y install wget rm -f /etc/yum.repos.d/* wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/Centos-7.repo / wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo / yum -y install vim-enhanced tcpdump lrzsz tree telnet bash-completion net-tools wget bzip2 lsof zip unzip nfs-utils gcc make gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel zlib-devel / yum clean all / rm -f /etc/localtime / ln -s ../usr/share/zoneinfo/Asia/Shanghai /etc/localtime #添加系统账户 RUN groupadd www -g 2019 useradd www -u 2019 -g www [root@ubuntu1804 centos]#vim build.sh #通过脚本构建镜像 [root@ubuntu1804 centos]#cat build.sh #!/bin/bash docker build -t centos7-base:v1 . [root@ubuntu1804 centos]#bash build.sh [root@ubuntu1804 centos]#docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos7-base v1 34ab3afcd3b3 4 seconds ago 403MB centos centos7.7.1908 08d05d1d5859 2 months ago 204MB构建JDK 镜像 上传JDK压缩包和profile文件上传到Dockerfile当前目录
#将CentOS7主机上的/etc/profile文件传到 Dockerfile 所在目录下 [root@ubuntu1804 ~]#scp centos7:/etc/profile 10.0.0.100:/data/dockerfile/web/jdk #修改profile文件,加下面四行相关变量 [root@ubuntu1804 ~]#vim /data/dockerfile/web/jdk/profile [root@ubuntu1804 ~]#tail -n 5 /data/dockerfile/web/jdk/profile export JAVA_HOME=/usr/local/jdk export TOMCAT_HOME=/apps/tomcat export PATH=JAVA_HOME/bin:JAVA_HOME/jre/bin:TOMCAT_HOME/bin:PATH export CLASSPATH=.CLASSPATH:JAVA_HOME/lib:JAVA_HOME/jre/lib:JAVA_HOME/lib/tools.jar #下载jdk文件传到Dockfile目录下 #https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html [root@ubuntu1804 ~]#tree /data/dockerfile/web/jdk /data/dockerfile/web/jdk ├── jdk-8u212-linux-x64.tar.gz └── profile 0 directories, 2 files准备Dockerfile文件
[root@ubuntu1804 ~]#vim /data/dockerfile/web/jdk/Dockerfile [root@ubuntu1804 ~]#cat /data/dockerfile/web/jdk/Dockerfile #JDK Base Image FROM centos7-base:v1 LABEL maintainer= wangxiaochun root@wangxiaochun.com ADD jdk-8u212-linux-x64.tar.gz /usr/local/src/ RUN ln -s /usr/local/src/jdk1.8.0_212 /usr/local/jdk ADD profile /etc/profile ENV JAVA_HOME /usr/local/jdk ENV JRE_HOME JAVA_HOME/jre ENV CLASSPATHJAVA_HOME/lib/:JRE_HOME/lib/ ENV PATHPATH:$JAVA_HOME/bin执行构建脚本制作镜像
[root@ubuntu1804 ~]#vim /data/dockerfile/web/jdk/build.sh [root@ubuntu1804 ~]#cat /data/dockerfile/web/jdk/build.sh #!/bin/bash docker build -t centos7-jdk:8u212 . [root@ubuntu1804 ~]#tree /data/dockerfile/web/jdk/ /data/dockerfile/web/jdk/ ├── build.sh ├── Dockerfile ├── jdk-8u212-linux-x64.tar.gz └── profile 0 directories, 4 files [root@ubuntu1804 ~]#cd /data/dockerfile/web/jdk/ [root@ubuntu1804 jdk]#bash build.sh [root@ubuntu1804 jdk]#docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos7-jdk 8u212 fdbeb8a49ea6 59 seconds ago 809MB centos7-base v1 34ab3afcd3b3 44 minutes ago 403MB centos centos7.7.1908 08d05d1d5859 2 months ago 204MB从镜像启动容器测试
[root@ubuntu1804 jdk]#docker run -it --rm centos7-jdk:8u212 bash [root@25c9c0266bd2 /]# java -version java version 1.8.0_212 Java(TM) SE Runtime Environment (build 1.8.0_212-b10) Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)
本文链接:http://www.yunweipai.com/34839.html
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/52665.html
centosDockerjavalinuxnginxTomcatUbuntu相关文章
- 深入拆解Tomcat和Jetty之通用组件
- 如何配置tomcat环境变量
- Linux服务器tomcat部署war包「建议收藏」
- Tomcat 8 配置访问Host-Manager在线部署war包
- Spring Boot中Tomcat是怎么启动的
- idea 添加Tomcat_懂车帝怎么添加
- 如何使用ApacheTomcatScanner扫描Apache Tomcat服务器漏洞
- kubernetes集群之微服务tomcat服务
- 深入浅出之tomcat服务器详解架构师
- 在 eclipse 中将 web 项目部署到 tomcat 服务器上详解编程语言
- 改变Linux Tomcat的端口号:一步一步来(linux修改tomcat端口号)
- Linux下查看Tomcat日志的方法(linux查看tomcat日志)
- Linux下重启Tomcat的操作步骤(linux重启tomcat)
- Linux修改Tomcat端口号的步骤(linux修改tomcat端口)
- Linux下快速安装Tomcat服务器(linux下安装tomcat)
- 搭建Tomcat连接MySQL数据库的快速指南(tomcat连接mysql数据库)
- 检查Linux服务器上Tomcat是否启动(linux查看tomcat是否启动)
- Linux下安装Tomcat服务器的步骤(linux上安装tomcat)
- Linux停止Tomcat服务的最佳实践(linux停止tomcat)
- 在Linux下轻松启动Tomcat(linux下启动tomcat)
- 实战案例: 一键安装tomcat脚本
- tomcat实战案例:手动的应用部署
- tomcat-session共享实战案例
- 使用Tomcat和Redis构建更加稳健的Web应用(tomcat和redis)
- Tomcat 与 Redis 的桥梁惠泽互联(tomcat与redis)
- 直接双击启动tomcat中的startup.bat闪退原因及解决方法