zoukankan      html  css  js  c++  java
  • docker镜像制作---jdk7+tomcat7基础镜像

    1. 安装docker

    rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

    yum -y install docker-io​

    可使用以下命令,查看 Docker 是否安装成功:docker version

    输出了 Docker 的版本号,则说明安装成功了,可通过以下命令启动 Docker 服务:

    service docker start

    一旦 Docker 服务启动完毕,我们下面就可以开始使用 Docker 了。

    2. 下载镜像​

    我们不妨还是以 CentOS 为例,通过以下步骤,下载一个 CentOS 的镜像。

    首先,访问 Docker 中文网,在首页中搜索名为“centos”的镜像,在搜索的结果中,有一个“官方镜像”,它就是我们所需的。

    然后,进入 CentOS 官方镜像页面,在“Pull this repository”输入框中,有一段命令,把它复制下来,在自己的命令行上运行该命令,随后将立即下载该镜像。​

    [root@host-10-1-251-62 ~]# docker pull centos:6

    最后,使用以下命令查看本地所有的镜像:​

    [root@host-10-1-251-62 ~]# docker images

    可以查看到如下信息:

    制作docker镜像(1)jdk7+tomcat7基础镜像

    如果看到以上输出,说明您可以使用“centos”这个镜像了,或将其称为仓库(Repository),该镜像有一个名为“6”的标签(Tag),此外还有一个名为“2f96ee8baf17”的镜像 ID(可能您所看到的镜像 ID 与此处的不一致,那是正常现象,因为这个数字是随机生成的)。现在镜像已经有了,我们下面就需要使用该镜像,来制作(jdk+tomcat)基础镜像。

    3. 准备JDK+TOMCAT软件

    ​​我下载了apache-tomcat-7.0.68.tar.gz和jdk-7u79-linux-x64.tar.gz,存储于宿主机(Linux机器的本地目录/home/crmtest/MCC/ljj/下)。为了制作时更加快捷,我直接在本地解压了两个软件,并将目录名字吻别重命名为jdk和tomcat。

    制作docker镜像(1)jdk7+tomcat7基础镜像

    4. 编写Dockerfile文件​​

    #---------------------------------------------------------------------

    #This is a comment注释

    #使用基础镜像centos:6

    FROM centos:6
    #指定镜像创建者信息

    MAINTAINER lijj3 <<A href="mailto:lijj3@asiainfo.com">lijj3@asiainfo.com>

    #切换镜像的目录,进入/usr目录(基础镜像是一个linux系统,可参照linux查看相应目录)
    WORKDIR /usr

    #在/usr/下创建java目录,用来存放jdk
    RUN mkdir java

    #切换镜像的目录至/usr/java
    WORKDIR /usr/java

    #在/usr/java下创建jdk目录,用来存放jdk文件
    RUN mkdir jdk

    #切换镜像的目录至/usr/java/jdk
    WORKDIR /usr/java/jdk

    #将宿主机的jdk目录下的全部文件考入至镜像的/usr/java/jdk目录下
    ADD jdk /usr/java/jdk

    #切换镜像的目录至/opt
    WORKDIR /opt

    #在/opt下创建tomcat目录,用来存放tomcat文件
    RUN mkdir tomcat

    #将宿主机的tomcat目录下的全部文件考入至镜像的/opt/tomcat目录下
    ADD tomcat /opt/tomcat

    #设置环境变量

    ENV JAVA_HOME=/usr/java/jdk
    ENV JAVA_BIN=/usr/java/jdk/bin
    ENV PATH=$PATH:$JAVA_HOME/bin
    ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    #设置容器启动时执行的操作

    CMD /opt/tomcat/bin/catalina.sh run

    #---------------------------------------------------------------------

    以上就是Dockerfile文件的内容,将该文件存入宿主机当前目录/home/crmtest/MCC/ljj/下,与jdk,tomcat同目录。

    制作docker镜像(1)jdk7+tomcat7基础镜像

    5. 制作镜像

    使用命令:docker build -t centos_jdk7_tomcat7_ljj:latest .

    其中centos_jdk7_tomcat7_ljj为镜像名称,latest为镜像tag。

    [root@host-10-1-251-62 ~]# docker build -t centos_jdk7_tomcat7_ljj:latest .

    制作成功后,查看镜像:docker images

     制作docker镜像(1)jdk7+tomcat7基础镜像

    6.启动容器

    使用命令:docker run -d -p 5050:8080 centos_jdk7_tomcat7_ljj:latest

    [root@host-10-1-251-62 ~]# docker run -d -p 5050:8080 centos_jdk7_tomcat7_ljj:latest

    注意:这里使用的是宿主机的 IP 地址,与对外暴露的端口号 5050,它映射容器内部的端口号 8080。

    • -d:表示以“后台模式”启动,此时 Tomcat 控制台不会出现在输出终端上。
    • -p:表示宿主机与容器的端口映射,此时将容器内部的 8080 端口映射为宿主机的 5050 端口,这样就向外界暴露了 5050 端口,可通过 Docker 网桥来访问容器内部的 8080 端口了。
    • --name:表示容器名称,用一个有意义的名称命名即可。

    7. 登录tomcat网站

    在浏览器中,输入以下地址,即可访问 Tomcat 首页:
    http://10.1.251.62:5050/
    制作docker镜像(1)jdk7+tomcat7基础镜像
  • 相关阅读:
    Python class:定义类
    Python return函数返回值详解
    Python None(空值)及用法
    Python函数值传递和引用传递(包括形式参数和实际参数的区别)
    Python函数的定义
    Python函数(函数定义、函数调用)用法详解
    Python reversed函数及用法
    Python zip函数及用法
    Python break用法详解
    Python嵌套循环实现冒泡排序
  • 原文地址:https://www.cnblogs.com/momoyan/p/9130210.html
Copyright © 2011-2022 走看看