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能否连接

     

  • 相关阅读:
    Leetcode 214. Shortest Palindrome
    Leetcode 5. Longest Palindromic Substring
    windows环境下MySQL-5.7.12-winx64下载安装与配置
    随机森林(Random Forests)
    机器学习基石笔记3——在何时可以使用机器学习(3)
    Linux服务器配置---ssh配置
    Linux基础命令---more
    Linux服务器---流量监控ntop
    Linux基础命令---gunzip
    Linux服务器---ssh登录
  • 原文地址:https://www.cnblogs.com/spring1122/p/12408190.html
Copyright © 2011-2022 走看看