任务:用Dockerfile来制作contos镜像,再创建一个容器可实现的功能:使用局域网yum源安装nfs,并完成挂载、自动启动tomcat服务

步骤:pull一个centos的基础镜像,使用局域网搭建的yum源,添加tomcat压缩包,在dockerfile中需要安装nfs-client,配置容器启动入口命令(dockerfile中的CMD),能够成功构建镜像,并且基于这个镜像启动的容器,能够自动启动tomcat服务,完成nfs的挂载。

 

注:已在宿主机上安装nfs,实现挂载,现将docker容器中的某个目录挂载到本地

 

1、  关闭防火墙、selinux

2、  在Docker Hub上查看可下载的镜像

 

 

 

 

3、创建目录存放Dockerfile:

 

 

 

 

4、进入目录:

 

 

 

 

5、复制tomcat包:cp /usr/local/tomcat/apache-tomcat-8.5.51.tar.gz apache-tomcat-8.5.51.tar.gz

复制jdk包:cp /home/spring/download/ jdk-8u161-linux-x64.tar.gz jdk-8u161-linux-x64.tar.gz

复制本地宿主机的yum配置文件:cp /etc/yum.repos.d/CentOS-Base.repo CentOS-Base.repo

 

 

 

 

6、编写Dockerfile:(注意jdk解压后的文件名会改变)

FROM centos:centos7

ADD ./CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo

RUN yum clean all

RUN yum repolist

RUN yum -y install nfs-utils

ADD ./apache-tomcat-8.5.51.tar.gz /usr/local

ADD ./jdk-8u161-linux-x64.tar.gz /usr/lib/

ENV JAVA_HOME /usr/lib/jdk1.8.0_161

ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.51

ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

EXPOSE 8080

ENTRYPOINT ["/usr/local/apache-tomcat-8.5.51/bin/catalina.sh","run"]

 

 

 

 

注解:

FROM centos:centos7           拉取/安装镜像

ADD ./ CentOS-Base. repo /etc/yum.repos.d/ CentOS-Base.repo   复制配置文件

RUN yum clean all              清除所有缓存

RUN yum repolist               查看已安装的yum源

RUN yum -y install nfs-utils       安装nfs

ADD ./ apache-tomcat-8.5.51.tar.gz /usr/local/   复制并解压缩tomcat到容器

ADD ./jdk-8u161-linux-x64.tar.gz /usr/lib/       复制并解压缩jdk到容器

ENV JAVA_HOME /usr/lib/ jdk1.8.0_161        设置tomcat和jdk环境变量

ENV CATALINA_HOME /usr/local/ apache-tomcat-8.5.51

ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

EXPOSE 8080          把容器的8080端口映射到宿主机

ENTRYPOINT [“/usr/local/tomcat-8.5.51/bin/catalina.sh”, ”run”]    设置tomcat的启动

在这里不能运行startup.sh,因为脚本执行完毕后会自动进入后台模式,而docker容器必须有前台运行的应用,否则容器会直接挂掉,所以采用这种方式。

 

7、构建镜像:docker build –t s/centos: 7-1 .

8、查看镜像:docker images

9、启动容器:docker run –id --name test_centos –p 8081:8080 –v /mnt: /mnt s/centos: 7-1

10、查看挂载是否成功

 

 

 

11、查看tomcat能否连接

 

 

posted on 2020-03-04 10:51  spring1122  阅读(470)  评论(0编辑  收藏  举报