zoukankan      html  css  js  c++  java
  • centos7使用docker搭建运行环境并部署jar(转)

    按语:

        运行springboot创建的jar,采用 Docker运行jar包  https://www.cnblogs.com/xihong2014/p/14452173.html

    一篇博文,先构建镜像。再利用 docker run -p 8080:8080 demo 方式运行 在java环境下生成的 spingboot架构的helloworld jar文件。

    利用本博文开放防火墙对8080端口

    在主机上运行 http://192.168.101:/8080 得到正确结果。

    ==============================================================================================

    *首先有一个干净的centos7环境
    1.安装docker需要yum来拉取,所以先获取yum源。

    yum install -y yum-utils device-mapper-persistent-data lvm2
    

    为yum源添加docker仓库位置

    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    

    安装docker

    yum install docker-ce
    

    启动docker

    systemctl start docker
    

    2.基本工作准备好后开始搭建环境
    在主目录下创建mydata目录

    mkdir mydata
    

    mysql5.7
    先拉取MySQL5.7的镜像

    docker pull mysql:5.7
    
    启动MySQL
    
    docker run -p 3306:3306 --name mysql_3306 
    -v /mydata/mysql/log:/var/log/mysql 
    -v /mydata/mysql/data:/var/lib/mysql 
    -v /mydata/mysql/conf:/etc/mysql 
    -e MYSQL_ROOT_PASSWORD=root  
    -d mysql:5.7
    
    -p 3306:3306:将容器的3306端口映射到主机的3306端口
    -v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂在到主机
    -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
    -v /mydata/mysql/data:/var/lib/mysql/:将数据文件夹挂载到主机
    -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码
    创建数据库可以使用Navicat连接服务器的ip,端口我们把宿主机的3306和docker镜像的3306已经映射起来了。
    所以可以直接连接,操作docker内部的数据库。
    

    redis
    先拉取redis镜像,版本根据自己的需求

    docker pull redis:3.2
    
    启动redis
    
    docker run -p 6379:6379 --name redis_6379 
    -v /mydata/redis/data:/data 
    -d redis:3.2 redis-server --appendonly yes
    

    nginx
    先拉取nginx镜像

    docker pull nginx:1.10
    
    启动nginx
    
    docker run -p 80:80 --name nginx_80 
    -v /mydata/nginx/html:/usr/share/nginx/html 
    -v /mydata/nginx/logs:/var/log/nginx  
    -v /mydata/nginx/conf:/etc/nginx 
    -d nginx:1.10
    

    3.环境基本搭建完毕
    在根目录下创建一个文件夹用来放置jar包

    mkdir java 
    cd java
    mkdir project_all
    mkdir log
    
    将你打好的jar包放在project_all目录下,然后启动jar。这里采用绝对路径,便于以后找到存放地
    
    nohup java -jar /java/project_all/demo1-1.0-SNAPSHOT.jar >/java/log/demo1.log 2>&1 &
    
    启动查看是否启动成功
    
    ps -ef|grep java|grep -v grep
    root     22310 21781 99 10:21 pts/1    00:00:26 java -jar /java/project_all/demo1-1.0-SNAPSHOT.jar
    
    查看jar包的端口是否被你的jar占用
    
    netstat -nltp
    tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1439/cupsd          
    tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1983/master         
    tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      20390/sshd: root@pt 
    tcp        0      0 127.0.0.1:6011          0.0.0.0:*               LISTEN      21771/sshd: root@pt 
    tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
    tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1852/dnsmasq        
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1464/sshd           
    tcp6       0      0 ::1:631                 :::*                    LISTEN      1439/cupsd          
    tcp6       0      0 ::1:25                  :::*                    LISTEN      1983/master         
    tcp6       0      0 ::1:6010                :::*                    LISTEN      20390/sshd: root@pt 
    tcp6       0      0 :::90                   :::*                    LISTEN      6763/docker-proxy   
    tcp6       0      0 ::1:6011                :::*                    LISTEN      21771/sshd: root@pt 
    tcp6       0      0 :::2375                 :::*                    LISTEN      6316/dockerd        
    tcp6       0      0 :::5000                 :::*                    LISTEN      6504/docker-proxy   
    tcp6       0      0 :::3306                 :::*                    LISTEN      6654/docker-proxy   
    tcp6       0      0 :::6379                 :::*                    LISTEN      6959/docker-proxy   
    tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
    tcp6       0      0 :::80                   :::*                    LISTEN      6874/docker-proxy   
    tcp6       0      0 :::8085                 :::*                    LISTEN      22310/java          
    tcp6       0      0 :::22                   :::*                    LISTEN      1464/sshd
    
    查看防火墙开放的端口
    
    firewall-cmd --zone=public --list-ports
    
    如果未开放,我这里是8085。
    
    firewall-cmd --zone=public --add-port=8085/tcp --permanent #开放8085端口
    firewall-cmd --reload   # 配置立即生效
    
    在你浏览器输入你的ip如:http://192.168.2.171:8085/swagger-ui.html 可以出来swagger测试说明
    已经成功启动了你的jar
    

    如需发布web前端项目 只用在前端的static文件和index.html放到mydata/nginx/html下启动nginx就可以了。

    https://www.it610.com/article/1298013664351166464.htm

  • 相关阅读:
    重学Docker
    rabbitmq基本知识了解
    rabbitmq之mq协议了解
    微信公众平台开发教程(三) 基础框架搭建
    微信公众平台开发教程(二) 基本原理及消息接口
    微信公众平台开发教程(一) 微信公众账号注册流程
    微信公众平台开发教程(十) 订阅号与服务号的区别
    vue cli3.0快速搭建项目详解(强烈推荐)
    vue 3.0 初体验 (项目搭建)
    手把手教你vue3.0项目搭建
  • 原文地址:https://www.cnblogs.com/xihong2014/p/14452141.html
Copyright © 2011-2022 走看看