zoukankan      html  css  js  c++  java
  • 用Dockerfile来制作contos镜像

    任务:用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能否连接

     

  • 相关阅读:
    单例模式的四种方式
    创建者模式
    抽象工厂模式
    工厂方法模式
    【位运算符与逻辑运算符知识点】【二进制枚举子集】【just for 状压】
    【数学基础】【欧拉定理模板】【费马小定理】
    【练习赛补题】poj 3026 Borg Maze 【bfs+最小生成树】【坑~】
    【数学基础】【欧拉函数解析模板】【欧拉筛法实现求1~n】【求某个数字n】
    【 数学基础】【素数线性筛法--欧拉筛法模板】【普通筛法的优化】
    【练习赛2补题】poj 2325 Persistent Numbers 【高精度除法+贪心】
  • 原文地址:https://www.cnblogs.com/spring1122/p/12408190.html
Copyright © 2011-2022 走看看