构建Docker镜像:tomcat

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构建Docker镜像:tomcat相关的知识,希望对你有一定的参考价值。

Dockerfile介绍

Dockerfile是由一组指令组成的文件,每条指令对应linux中一条命令,Docker程序将读取Dockerfile中的指令生成指定镜像。
Dockerfile大致结构:基础镜像信息、维护者信息、镜像操作指令、容器启动时执行指令。每行支持一条指令,每条指令可以携带多个参数,支持以 # 开头的注释。
Dockerfile操作指令:

FROM 镜像 : 指定新的镜像所基于的镜像
MAINTAINER 名字 :说明新镜像的维护人
RUN 命令 : 在所基于的镜像上执行命令,并提交到新的镜像中
CMD ["要运行的程序","参数1","参数2"] : 指定启动容器时要运行的命令或脚本
EXPOSE端口号 : 指定新镜像加载到Docker时要开启的端口
ENV环境变量 变量值 : 设置一个环境变量的值,会背后面的RUN用到
ADD源文件/目录 目标文件/目录 :将源文件复制到目标文件 ,源文件和Dockerfile位于同一目录
COPY源文件/目录 目标文件/目录 :将本地主机的源文件复制到目标目录,源文件和Dockerfile位于同一目录
VOLUME["目录"] : 在容器中创建一个挂载点
USER 用户名 /UID :指定运行容器时的用户
WORKDIR路径 : 为后续的RUN 、CMD、ENTRYPOINT 指定工作目录
ONBUILD命令 : 指定所生成的镜像作为一个基础镜像时所要运行的命令。

构建nginx镜像
创建工作目录以及下载解压安装包

[[email protected] ~]# docker pull centos  基础镜像
[[email protected] ~]# mkdir  tomcat
[[email protected] ~]# mv apache-tomcat-8.5.34.tar.gz tomcat/
[[email protected] ~]# mv jdk-8u181-linux-x64.tar.gz tomcat/
[[email protected] ~]# cd tomcat/
[[email protected] tomcat]# tar xvf apache-tomcat-8.5.34.tar.gz 
[[email protected] tomcat]# tar xvf jdk-8u181-linux-x64.tar.gz 

创建Dockerfile文件

# vim Dockerfile   //编写Dockerfile

# 设置基础镜像
FROM centos
# 维护该镜像的用户
MAINTAINER this is tomcat image <sz>
# 安装JDK环境,设置其环境变量
ADD jdk1.8.0_181 /usr/local/java
ENV JAVA_HOME /usr/local/java
ENV JAVA_BIN /usr/local/java/bin
ENV JRE_HOME /usr/local/java/jre
ENV PATH $PATH:/usr/local/java/bin:/usr/local/java/jre/bin
ENV CLASSPATH /usr/local/java/jre/bin:/usr/local/java/lib:/usr/local/java/jre/lib/charsets.jar
ADD apache-tomcat-8.5.34  /usr/local/tomcat
#开启端口
EXPOSE 8080

生成镜像:

[[email protected] tomcat]#  docker build -t tomcat:centos .
······
Removing intermediate container fe9e7d2565aa
Step 10/10 : EXPOSE 8080
 ---> Running in 24dcbc4d1afc
 ---> 214b8cfca21c
Removing intermediate container 24dcbc4d1afc
Successfully built 214b8cfca21c

运行并进入容器:

[[email protected] tomcat]# docker run --name tomcat01 -p 80:8080 -it  tomcat:centos /bin/bash

启动Tomcat:

[[email protected] /]# /usr/local/tomcat/bin/startup.sh 
······
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

测试:
技术分享图片
注:把镜像保存到本地

[[email protected] tomcat]# docker save -o centos_tomcat.tar  tomcat:centos

centos_tomcat.tar 为保存到本地后的包名
tomcat:centos 为被打包的对象镜像

如果在一台新机器还原docker镜像

[[email protected] ~]# docker load --input centos_tomcat.tar 
······
Loaded image: tomcat:centos

以上是关于构建Docker镜像:tomcat的主要内容,如果未能解决你的问题,请参考以下文章

构建Docker镜像:tomcat

Docker——Dockerfile(构建自己的CentOS镜像和Tomcat镜像)并打包镜像发布上线

Docker:在 Tomcat 镜像构建期间访问 MySQL 容器

docker构建tomcat镜像

docker 安装tomcat 设置容器开机自启动 并commit构建新的镜像

docker基于centos构建jdk8+tomcat8镜像