一、先创建tomcat 的 Dockerfile目录 mkdir -pv /docker/tomcat cd /docker/tomcat wget http://www.xchinagroup.top/softdown/centos7/13_elk/jdk-8u201-linux-x64.tar.gz JDK包比较大,先下载好JDK安装包,在构建tomcat镜像时就会快一些。 注意JDK安装包,放在/docker/tomcat/ 里面 二、一键安装tomcat脚本 cd /docker/tomcat 2.1、准备好tomcat安装脚本 vim tomcat_install.sh +++++++++++++++++++++++++ tomcat_install.sh +++++++++++++++++++++++ #!/bin/bash yum install gcc gcc-c++ vim net-tools wget tar -y cd /opt/ tar zxf jdk-8u201-linux-x64.tar.gz -C /usr/local/ echo 'export JAVA_HOME=/usr/local/jdk1.8.0_201/' >>/etc/profile echo 'export PATH=$PATH:$JAVA_HOME/bin' >>/etc/profile echo 'export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH' >>/etc/profile source /etc/profile wget http://www.xchinagroup.top/softdown/centos7/16_docker/apache-tomcat-9.0.20.tar.gz tar zxf apache-tomcat-9.0.20.tar.gz mv apache-tomcat-9.0.20 /usr/local/tomcat ++++++++++++++++++++++++++++++++++++++++++++++ 2.2、准备一个yum源文件(国内用163的yum源会更快一些) 在/docker/tomcat/ 这个目录下面 vim CentOS-Base.repo [base] name=CentOS-$releasever - Base baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates [updates] name=CentOS-$releasever - Updates baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2.3、创建Dockerfile 文件:在/docker/tomcat/ 这个目录下面 vim /docker/tomcat/Dockerfile FROM centos7 MAINTAINER xc 331758730@qq.com COPY jdk-8u201-linux-x64.tar.gz /opt/jdk-8u201-linux-x64.tar.gz COPY CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo COPY tomcat_install.sh /tmp/tomcat_install.sh RUN sh /tmp/tomcat_install.sh; \rm -rf /opt/* +++++++++++++++++++++++++++++++++++++++++++/docker/tomcat 里面,应该有如下文件。
三、使用Dockerfile构建tomcat镜像 cd /docker/tomcat docker build -t dfsc_tomcat .
![]()
+++++++++++++++++++++++++++++++++++++++++++++++++++++
########: /usr/local/tomcat/bin/startup.sh #这个是后台启动 /usr/local/tomcat/bin/catalina.sh run #这个是前台启动 四、测试创建的tomcat镜像是否正常 docker run -d dfsc_tomcat /bin/bash -c 'source /etc/profile; /usr/local/tomcat/bin/catalina.sh run'
进入到dfsc_tomcat 的/bin/bash
mkdir -pv /opt/app-root/etc
vim /opt/app-root/etc/scl_enable
# This file contains automatic SCL enablement. unset BASH_ENV PROMPT_COMMAND ENV 保存退出。
![]()
![]()
![]()
++++++++++++++++++++++++++ END +++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ####:关于进入容器出现:bash: /opt/app-root/etc/scl_enable: No such file or directory 直接在Dockerfile文件中添加如下内容: RUN mkdir -p /opt/app-root/etc/; \echo "unset BASH_ENV PROMPT_COMMAND ENV" >>/opt/app-root/etc/scl_enable ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docker build -t tomcat_01 .
docker run -d tomcat_01 /bin/bash -c 'source /etc/profile; /usr/local/tomcat/bin/catalina.sh run'
![]()
+++++++++++++++++++++++++++++++++++++++++++++++++++