• Docker实战之创建一个tomcat容器


    一、Docker与虚拟机的区别

     

    二、Docker学习步骤

    2.1:安装宿主操作系统

    在VMVare中安装了Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-62-generic x86_64)

    64位操作系统

    建议内核在 3.8 以上,执行uname –r 查看内核如下图所示

     

    2.2:更新系统

    Ubuntu在安装的过程中没有指定root用户密码的操作,所以我们需要给root用户一个密码

    命令如下

    sudo passwd 系统会提示Enter New UNIX OR LINUX PASSWORD

    输入即可

    再次确认密码,会提示修改成功

    接下来更新系统命令

    apt update && apt dist-upgrade –y或者sudo  apt update && apt dist-upgrade –y

    等待系统更新完成,如下图所示

     

    2.3:安装Docker

    执行命令:

    curl https://releases.rancher.com/install-docker/17.03.sh | sh

    如下图所示

     

    之后需要在线下载一些安装资源,耐心的等待就好,安装成功如下图所示

     

    查看docker是否安装成功,docker version ,如下图所示显示正确的版本号则说明安装成功

    安装成功后则可启动docker服务

    systemctl start  docker.service

       

    三、Docker的练习

    3.1:查看容器和镜像

    执行docker ps 或者 docker images 进行查看容器或者镜像,如下图(因为刚装好Docker

    所以现在的容器和镜像都是为空的下面显示的知识标题)

     

    3.2:下载一个镜像

    执行docker pull 镜像名 即可下载一个镜像,下面以下载一个redis镜像为例进行操作,此操作需要连接网络,需要等待,如下图所示

     

    下载完成,如下图所示

     

    下载成功再次执行docker images命令可以看到我们下载的镜像

     

    3.3:创建一个tomcat运行环境

    3.3.1:上传java和tomcat

    分别下载如下安装包,上传到服务器

     

    3.3.2:解压到指定的目录

    我们在Docker宿主机上创建了一个tomcat-docker目录,把解压好的jdk和tomcat放到该目录,如下图所示

     

    3.3.3:创建用来生成镜像的Dockerfile文件

    在tomcat-docker目录下执行命令touch Dockerfile创建一个Dockerfile文件

    Vi  Dockerfile内容如下,之后保存

     # 设置继承的镜像

    FROM ubuntu:16.04

    # 创建者信息

    MAINTAINER wxj "kingstudy@vip.qq.com"

    # 设置环境变量,所有操作都是非交互式的

    ENV DEBIAN_FRONTEND noninteractive

    # 设置tomcat的环境变量

    ENV CATALINA_HOME /tomcat

    ENV JAVA_HOME /jdk

    # 复制tomcat和jdk文件到镜像中

    ADD apache-tomcat-9.0.0.M21 /tomcat

    ADD jdk1.8.0_131 /jdk

    # 复制启动脚本至镜像,并赋予脚本可执行权限

    ADD run.sh /run.sh

    RUN chmod +x /*.sh

    RUN chmod +x /tomcat/bin/*.sh

    # 暴露接口8091,这是我的tomcat接口,默认为8080

    EXPOSE 8091

    # 设置自启动命令

    CMD ["/run.sh"]

    3.3.4:创建自动启动文件run.sh

    在创建Dockerfile的时候我们可以发现最后的一行设置自启动命令里面指定了/run.sh

    这里的’/’是根目录的意思,和Linux操作系统的’/’目录有所区别,只要Dockerfile和run.sh在同一个目录下这个地方就可以用/来指定,下面我们在tomcat-docker路径下执行touch run.sh创建一个run.sh文件,内容如下

    #!/bin/bash

    # 启动tomcat

    exec ${CATALINA_HOME}/bin/catalina.sh run

    run.sh的作用是在启动容器的时候启动tomcat服务

    3.3.5:根据Dockerfile生成镜像

    注意:这个命令一定要在tomcat-docker这个目录下执行才可以,因为里面有复制文件的操作用的是相对目录

    root@KingServer1:~/tomcat-docker# docker build -t tomcat:test1 -f /root/tomcat-docker/Dockerfile .

    Sending build context to Docker daemon 391.1 MB

    Step 1/12 : FROM ubuntu:16.04

     ---> d355ed3537e9

    Step 2/12 : MAINTAINER wxj "kingstudy@vip.qq.com"

     ---> Using cache

     ---> c1f3d38837ca

    Step 3/12 : ENV DEBIAN_FRONTEND noninteractive

     ---> Using cache

     ---> be1ca3b3b014

    Step 4/12 : ENV CATALINA_HOME /tomcat

     ---> Running in ae8df355595b

     ---> dcba8eb85069

    Removing intermediate container ae8df355595b

    Step 5/12 : ENV JAVA_HOME /jdk

     ---> Running in 9fcfd0114cb8

     ---> 93155ece74c9

    Removing intermediate container 9fcfd0114cb8

    Step 6/12 : ADD apache-tomcat-9.0.0.M21 /tomcat

     ---> 5c6cb315cd7b

    Removing intermediate container a205f98691c1

    Step 7/12 : ADD jdk1.8.0_131 /jdk

     ---> 026a07f7732f

    Removing intermediate container e75995168a1a

    Step 8/12 : ADD run.sh /run.sh

     ---> bae5ce399a0d

    Removing intermediate container d6661b08ec16

    Step 9/12 : RUN chmod +x /*.sh

     ---> Running in 1c8c73ba4bbd

     ---> e32338aed2aa

    Removing intermediate container 1c8c73ba4bbd

    Step 10/12 : RUN chmod +x /tomcat/bin/*.sh

     ---> Running in 90397e868a4b

     ---> 2879d10a8022

    Removing intermediate container 90397e868a4b

    Step 11/12 : EXPOSE 8091

     ---> Running in e9e9de8bb2a5

     ---> 7d5fa1266ad3

    Removing intermediate container e9e9de8bb2a5

    Step 12/12 : CMD /run.sh

     ---> Running in 5ccebdc7a956

     ---> 1835085d375b

    Removing intermediate container 5ccebdc7a956

    Successfully built 1835085d375b

    查看镜像是否生成成功,执行docker images如下图所示可以看到镜像ID 183,则说明成功

     

    3.3.6:用生成的tomcat镜像来启动一个容器

    执行如下命令

    docker run -d -p 50080:8080 tomcat:test1

    -p是指定宿主主机和容器的端口映射, 用宿主主机的50080端口映射容器的8080端口

    查看是否启动成功,docker ps 如下图所示可以看到启动成功

     

    3.3.7:测试容器是否部署成功

    容器启动以后,我们就可以通过宿主主机来访问tomcat容器了,由于我们启动容器的时候做了端口映射所以访问的地址为:

    http://192.168.1.51:50080/

    如下图所示:说明部署成功

     

  • 相关阅读:
    js在html中的加载执行顺序
    Smarty 模板引擎 fetch()和display()函数的区别?
    exit() die return 的区别
    (git fetch git push git pull)远程本地分支互相推送更新
    Echop后台分页实现原理详解
    location对象位置操作,进行跳转
    history对象属性和方法
    location对象,将url解析为独立片段search属性截取传递的参数
    frame与iframe的区别?
    页面弹出新图层,新图层处理完后,怎么实现原页面刷新
  • 原文地址:https://www.cnblogs.com/wxjnew/p/7100159.html
Copyright © 2020-2023  润新知