zoukankan      html  css  js  c++  java
  • Docker环境安装部署Java应用(含安装Tomcat和JDK)

    1.部署思路

    两台docker机(centos 7系统),Docker 版本:18.09.6, build 481bc77156

    Docker host IP:192.168.102.135

    Docker client IP:192.168.102.134

    在centos host上部署dokcer,并在docker容器中部署tomcat及jdk、webapp,部署后测试通过,并推入私有仓库。docker client端从私有仓库拉取镜像,运行并查看运行结果。操作示意图如下:

    2.安装tomcat

    docker pull tomcat
    docker run -p 8080:8080 --name mytomcat tomcat:latest # 提取镜像,生成容器,并命名容器为:mytomcat

    3.安装jdk

    在Oracle 官网下载jdk,通过工具上传到centos 7中,然后拷贝到容器中,命令如下:

    docker cp *****.gz mytomcat:/root

    拷贝成功后,使用如下命令,进入容器mytomcat:

    docker exec -it mytomcat bash

    然后用cd ~切换到到root目录下,然后新建目录:/usr/local/java,并将jdk拷贝到此目录下,使用tar命令解压,解压完成后,配置系统路径:

    vi ~/.bashrc

    如果此时提示vi命令找不到,则需要运行以下命令,安装vi.

    apt-get update#安装vi
    apt-get install vim

    有了此软件后,打开.bashrc文件,并在其中添加如下两行:

    export JAVA_HOME=/usr/local/java/jdk1.8.0_211
    export PATH=$JAVA_HOME/bin:$PATH

    刷新配置:source ~/.bashrc,并用java -version测试是否安装成功。

    3.部署web应用

    上传war包,并传入mytomcat容器中。注意,拷贝命令是:docker cp ibweb.war 97430ad8c4ba:/usr/local/tomcat/webapps,而非:docker cp ibweb.war 97430ad8c4ba:/webapps

    然后使用命令重启容器,以测试war包发布

    docker restart mytomcat

     或者命令:

    docker stop mytomcat
    docker start mytomcat

    测试通过后,将此容器建立镜像,所需命令为:

    docker commit -a 'clyan' -m 'this is the first version' 3d9cdd799aef mytomcat:v1
    #docker  commit -m  “提交说明文字”  -a  “作者”   要提交的容器名  提交后的镜像名:提交后的镜像tag名  

    注意,本命令既可以使用容器id,又可以使用容器名称。

    打包成功后,需要打标签(此时如果不打标签为如下格式,则会出错

    docker tag e6d190ad3797 192.168.102.135:5000/mytomcat

    tag语法:[容器ID|容器名称][仓库][标签]

    完成后,推入私有库(此时要确保私有库已经运行)

    docker push 192.168.102.135:5000/mytomcat

    推入成功后,客户端从私有库中拉取镜像,并转为容器,并运行:

    docker pull 192.168.102.135:5000/mytomcat
    docker run -p 8080:8080 --name mytomcat 192.168.102.135:5000/mytomcat:v1

    4.注意事项:

    使用命令拉取私有仓库镜像,并安装:

    docker pull registry
    docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry  --name private_registry registry

    Docker中配置私有仓库需要在:/etc/docker目录下建立文件daemon.json,内容如下:

    {
    "registry-mirrors": ["https://registry.docker-cn.com"],
    "insecure-registries": ["192.168.102.135:5000"]
    }

    或者根据systemctl status docker来确定docker文件,打开后在ExecStart行添加内容:

    ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry=192.168.221.129:5000
    systemctl daemon-reload
    systemctl restart docker

     常用命令:

    docker ps -n 5#查看容器
    docker ps#查看运行容器
    docker rm #删除容器
    docker rmi #删除镜像
  • 相关阅读:
    Django项目:CRM(客户关系管理系统)--54--45PerfectCRM实现账号快速重置密码
    Django项目:CRM(客户关系管理系统)--53--44PerfectCRM实现账号快速注册登陆
    Python 原生2种 邮件发送(发送验证码) 的方法
    Django项目:CRM(客户关系管理系统)--52--43PerfectCRM实现AJAX全局账号登陆
    Django项目:CRM(客户关系管理系统)--51--42PerfectCRM实现AJAX全局账号注册
    Django项目:CRM(客户关系管理系统)--50--41PerfectCRM实现全局账号密码修改
    Django项目:CRM(客户关系管理系统)--49--40PerfectCRM实现全局账号注册+验证码+页面刷新保留信息
    Django项目:CRM(客户关系管理系统)--48--39PerfectCRM实现登录+验证码+过期时间+页面保留账号
    mvc 伪静态任意扩展名的实现方法
    asp.net mvc各种传值方式大全
  • 原文地址:https://www.cnblogs.com/jizhong/p/11058840.html
Copyright © 2011-2022 走看看