天天看點

Docker鏡像分層建構

建構Tomcat鏡像

1.建構基礎鏡像

mkdir /opt/dockerfile/system/ubuntu

vim /opt/dockerfile/system/ubuntu/Dockerfile

#Ubuntu Base Image

FROM ubuntu:20.04

MAINTAINER shitouweb [email protected]

RUN apt-get update && apt-get install -y wget libpcre3 libpcre3-dev openssl libssl-dev zlib1g-dev iproute2 net-tools iotop gcc g++ automake build-essential unzip tzdata

RUN groupadd www -g 2020 && useradd www -u 2020 -g www

vim /opt/dockerfile/system/ubuntu/build-command.sh

#!/bin/bash

sudo docker build -t ubuntu-base:20.04 .

2.建構JDK鏡像

mkdir /opt/dockerfile/web/jdk/jdk-8U251

vim /opt/dockerfile/web/jdk/jdk-8U251/Dockerfile

#JDK-8U251

vim /opt/dockerfile/web/jdk/jdk-8U251/profile #可以在虛拟機中先搭建java環境變量然後複制profile檔案即可,添加以下

export JAVA_HOME=/usr/local/jdk

export CLASSPATH=$JAVA_HOME/jre/lib/rt.jar:$JRE_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

vim /opt/dockerfile/web/jdk/jdk-8U251/build-command.sh

sudo docker build -t ubuntu20.04-jkd:8U251 .

3.建構Tomcat鏡像

mkdir /opt/dockerfile/web/tomcat/tomcat-9.0.35

vim /opt/dockerfile/web/tomcat/tomcat-9.0.35/Dockerfile

FROM ubuntu20.04-jkd:8U251

LABEL shitouweb [email protected]

ADD apache-tomcat-9.0.35.tar.gz /apps

RUN ln -sv /apps/apache-tomcat-9.0.35 /apps/tomcat

vim /opt/dockerfile/web/tomcat/tomcat-9.0.35/build-command.sh

sudo docker build -t ubuntu20.04-tomcat:9.0.35 .

4.建構業務鏡像

mkdir /opt/dockerfile/web/tomcat/tomcat-app1

vim /opt/dockerfile/web/tomcat/tomcat-app1/Dockerfile

FROM ubuntu20.04-tomcat:9.0.35

vim /opt/dockerfile/web/tomcat/tomcat-app1/buile-command.sh

sudo docker build -t ubuntu20.04-tomcat0.0.35-webapps:1 .

vim /opt/dockerfile/web/tomcat/tomcat-app1/run_tomcat.sh可執行檔案必須增加執行權限,否則在容器中不能執行

su -c '/apps/tomcat/bin/catalina.sh start' - www

tail -f /etc/hosts

修改server.xml

<Host name="localhost" appBase="/data/tomcat/webapps"

unpackWARs="false" autoDeploy="false">

注意:在DockerFile中寫入的CMD後面的指令不執行主要是因為啟動的時候指定了shell

繼續閱讀