• Docker10-实战-构建Java Web运行环境


    创建Docker镜像

    [info]构建Docker镜像的一般过程是首先创建一个容器,
    并在容器里修改镜像,配置相关环境等,最后将修改提交为一个新镜像。

    下载制作镜像的系统

    root@ubuntu:/home/guanfuchang# docker pull ubuntu
    

    下载完成后,本地多了一个ubuntu系统镜像如下:

    root@ubuntu:/home/guanfuchang# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    ubuntu              latest              ea4c82dcd15a        4 weeks ago         85.8MB
    ...
    

    启动容器并修改镜像

    创建启动容器ubuntu:latest,并将本地目录挂载到容器中

    docker run -i -t -v /data/software/:/data/software ubuntu:latest /bin/bash
    

    参数说明:
    -i:表示以“交互模式”运行容器
    -t:表示容器启动后会进入其命令行
    -v:表示需要将本地哪个目录挂载到容器中

    在容器中安装JDK,Tomcat

    1. 将安装介质上传到宿主主机目录/data/software 中,然后进入容器
      安装介质JDK链接:https://pan.baidu.com/s/1nXiJ18HUBbnPC3IdMNi46g 密码:2phd
      安装介质Tomcat链接:https://pan.baidu.com/s/1GVJria7QjzvwSCZHBFdloQ 密码:q3c0
      启动容器,然后进入容器(进入容器前,需先将容器运行起来)
    root@ubuntu:/data/software# docker ps -a
    CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                        PORTS                     NAMES
    ddeb33467e9e        ubuntu:latest         "/bin/bash"              2 hours ago         Exited (127) 24 minutes ago                             xenodochial_keller
    root@ubuntu:/data/software# 
    root@ubuntu:/data/software# docker start ddeb33467e9e
    ddeb33467e9e
    
    root@ubuntu:/data/software# docker attach ddeb33467e9e
    root@ddeb33467e9e:/# 
    

    查看/data/software中是否已经同步了安装介质。

    root@ddeb33467e9e:/# cd /data/software/
    root@ddeb33467e9e:/data/software# ls
    apache-tomcat-9.0.13.tar.gz  jdk-8u191-linux-x64.tar.gz
    
    1. 将JDK和Tomcat 安装到/data 目录下
    root@ddeb33467e9e:/data/software# tar -zxvf jdk-8u191-linux-x64.tar.gz -C /data/
    root@ddeb33467e9e:/data/software# tar -zxvf apache-tomcat-9.0.13.tar.gz -C /data/
    root@ddeb33467e9e:/data/software#
    root@ddeb33467e9e:/data/software# cd ..
    root@ddeb33467e9e:/data# mv jdk1.8.0_191 jdk
    root@ddeb33467e9e:/data# mv apache-tomcat-9.0.13 tomcat
    root@ddeb33467e9e:/data# ls
    jdk  software  tomcat
    
    1. 修改环境变量,将下面的配置添加到 /etc/profile 的最后面
    #set java environment    
    export JAVA_HOME=/data/jdk
    export JRE_HOME=$JAVA_HOME/jre
    export CLASSPATH=.:$JAVA_HOME/lib:{JRE_HOME}/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
    
    export CATALINA_HOME=/data/tomcat
    export CATALINA_BASE=/data/tomcat
    

    [warning]容器内如果vim命令无法使用,需先安装,安装如下:
    root@ddeb33467e9e:/data# apt update
    root@ddeb33467e9e:/data# apt install vim

    修改后,使配置立即生效

    root@ddeb33467e9e:/data# source /etc/profile
    

    检查java配置是否生效

    root@ddeb33467e9e:/# java -version
    java version "1.8.0_191"
    Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
    

    编写启动脚本

    root@ddeb33467e9e:/# vim /data/start.sh
    

    脚本如下:

    #!/bin/bash
    # Export environment variable
    source /etc/profile
    # Start tomcat
    bash /data/tomcat/bin/catalina.sh run
    

    授权启动脚本

    root@ddeb33467e9e:/# chmod u+x /data/start.sh 
    

    制作镜像

    查看容器,获取容器ID

    root@ubuntu:/data/software# docker ps -a
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                       PORTS                     NAMES
    ddeb33467e9e        ubuntu:latest       "/bin/bash"              About an hour ago   Exited (127) 6 seconds ago                             xenodochial_keller
    

    制作镜像

    root@ubuntu:/data/software# docker commit ddeb33467e9e mt/mytomcatdemo:1.0
    

    查看镜像是否已经安装成功

    root@ubuntu:/data/software# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    mt/mytomcatdemo     1.0                 a65637693626        41 seconds ago      580MB
    

    创建并运行容器,指定宿主端口18080

    root@ubuntu:/data/software# docker run -d -p 18080:8080 --name tomcatdemo mt/mytomcatdemo:1.0 /data/start.sh
    96f03a0e009e706b213583a1408153f8c26314a1d6776204f9b1a6798ed313a7
    

    查看容器是否已经在运行

    root@ubuntu:/data/software# docker ps
    CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS              PORTS                     NAMES
    96f03a0e009e        mt/mytomcatdemo:1.0   "/data/start.sh"    10 seconds ago      Up 10 seconds       0.0.0.0:18080->8080/tcp   tomcatdemo
    

    访问宿主ip:端口,如:http://192.168.147.128:18080/ 访问如下即说明镜像制作成功,成功运行。


    :-:
    微信扫一扫,关注“python测试开发圈”,了解更多测试教程!

  • 相关阅读:
    百度搜索技巧
    Redis汇总
    分享一个经验,代码打开mysql链接,执行存储过程时,提示:Table 'mysql.proc' doesn't exist
    WPF 重写微调自带的样式,ListView、DataGrid、TreeView等所有控件的默认样式
    WPF 图片抗锯齿,尤其是小图片更为严重
    通过鼠标事件,从鼠标点击的坐标寻找指定的控件
    重写TreeView,多层级节点下批量显示图片,图片支持缩略图和文件名列表切换,支持调用者动态匹配选中,支持外界拖入图片并添加到对应节点下
    重写TreeView,自定义图标,生成通行的下划线,取消默认获得焦点失去焦点的效果,并支持拖拽节点到外界
    四、C#入门—表达式与运算符
    三、C#入门—数据类型
  • 原文地址:https://www.cnblogs.com/guanfuchang/p/10831426.html
Copyright © 2020-2023  润新知