热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

vmware14中安装centos7并使用docker发布spring-boot项目

1.vmare中centos7安装(同一路由器无线网络下)1.1选择桥接模式1.2修改配置文件vietcsysconfignetwork-scriptsifcfg-ens33

1.vmare中centos7安装(同一路由器无线网络下)

1.1选择桥接模式

1.2修改配置文件

vi /etc/sysconfig/network-scripts/ifcfg-ens33(这里不一定是ifcfg-ens33)

按下i键,进入编辑模式,进行如下编辑

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static  #设置为静态IP,不自动分配
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=6f97fb2f-29cd-4fb9-8d8d-c5e389736a1a
DEVICE=ens33
ONBOOT=yes  #设为开机启动
IPADDR=192.168.0.111  #配置固定IP NETMASK=255.255.255.0  #配置子网掩码 GATEWAY=192.168.0.1  #该配置与宿主机网关一致 PREFIX0=24  #改配置需要添加 DNS1=8.8.8.8  #DNS配置,这里采用了google的

1.3设置网络管理相关:

将NetworkManager 服务设置开机不启动

chkconfig NetworkManager off

将NetwokManager服务关闭

service NetworkManager stop

重新启动一下network服务

service network restart

1.4将该固定IP设置进DNS中

vi /etc/resolv.conf

nameserver 8.8.8.8
search localdomain
sudo service network restart

测试:

ping www.baidu.com

看是否能够联通

2.安装docker  

yum install docker

 

查看docker版本

docker -v

 

启动docker

systemctl start docker

 

查看docker镜像

docker images

 

搜索镜像

docker search mysql

 

下载镜像

docker pull mysql(下载最新版)

docker pull mysql:5.5(下载5.5)

 

 

安装并启动mysql(mysql之正式版--设置了本地端口和docker端口的映射关系)

docker run --name mysql01 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql[:版本号] --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

 

安装并启动mysql(mysql之非正式版)

docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql[:版本号] --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

 

查看运行中的docker容器

docker ps

 

停止某容器

docker stop mysql01(可以是container id,也可以是names)

 

查看所有镜像

docker ps -a

 

删除当前镜像(根据container id)

docker rm 228b46dcbb6a

 

强制删除当前镜像(根据container id)

docker rm -f 228b46dcbb6a

 进入容器bash并进入mysql命令行:

docker exec -it mysql bash
mysql -uroot -p
输入密码即可
3.centos7安装各组件
3.1安装iptables
  systemctl stop firewalld.service
  systemctl disable firewalld.service
  systemctl mask firewalld.service
  yum install iptables-services -y
  systemctl enable iptables
  systemctl start iptables
  systemctl status iptables
  systemctl restart iptables.service
  systemctl enable iptables.service
3.2安装ifconfig
  yum provides ifconfig
  yum whatprovides ifconfig
3.3安装bridge
yum install bridge-utils
3.4解决iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 3308 -j DNAT --to-destination 172.17.0.3:3308 ! -i docker0: iptables: No chain/target/match by that name问题
pkill docker 
iptables -t nat -F 
ifconfig docker0 down 
brctl delbr docker0 
docker -d 
service docker restart

解决Navicat for MySQL 连接 Mysql 8.0.11 出现1251- Client does not support authentication protocol 错误(还在解决中....................)

 4.demo演示

4.1pom文件

"1.0" encoding="UTF-8"?>
"http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    4.0.0

    com.zy
    spring-boot-rest-demo
    0.0.1-SNAPSHOT
    jar

    spring-boot-rest-demo
    spring-boot-rest-demo
    
    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.14.RELEASE
         
    

    
        UTF-8
        UTF-8
        1.8
        
        http://192.168.0.199:2375
    

    
        
            org.springframework.boot
            spring-boot-starter
        
        
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            1.3.1
        

        
            mysql
            mysql-connector-java
            runtime
        

        
            org.projectlombok
            lombok
            1.16.20
        

        
        
        
            io.springfox
            springfox-swagger2
            2.8.0
        

        
        
            io.springfox
            springfox-swagger-ui
            2.8.0
        


        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
            
            
                com.spotify
                docker-maven-plugin
                0.4.12
                
                    
                    
                    spring-boot-rest-demo
                    java
                    ["java", "-jar", "/${project.build.finalName}.jar"]
                    
                        
                            /
                            ${project.build.directory}
                            ${project.build.finalName}.jar
                        
                    
                
            
        
    


4.2启动类

package com.zy;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@SpringBootApplication
@EnableSwagger2
// 引入对Swagger的支持,需要在pom文件中添加其依赖,测试方式    http://localhost:8090/swagger-ui.html
public class SpringBootRestDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootRestDemoApplication.class, args);
    }
}

4.3application.yml

server:
  port: 8090
spring:
  datasource:
    url: jdbc:mysql://192.168.0.199:3306/springboot_rest?useSSL=false
    username: root
    password: 123456

4.4controller层

package com.zy.controller;

import com.zy.mapper.UserMapper;
import com.zy.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class UserController {

    @Autowired
    private UserMapper userMapper;

    @GetMapping(value = "/user/{id}")
    @ResponseBody
    public User getUser(@PathVariable("id") Integer id){
        return userMapper.getUserById(id);
    }
}

4.5mapper层

package com.zy.mapper;

import com.zy.model.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

@Mapper
public interface UserMapper {

    @Select("select * from tb_user where id = #{id}")
    User getUserById(Integer id);
}

4.6model层

package com.zy.model;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class User {

    private Integer id;

    private String lastName;

    private String email;

}

4.7部署到docker前:

4.7.1pom文件中配置docker maven plugin并在properties中声明dockerHost
    http://192.168.0.110:2375
4.7.2安装docker的Linux机器上,开启docker远程API操作端口2375:
vi /usr/lib/systemd/system/docker.service
将ExecStart这一行后面加上 -H tcp://0.0.0.0:2375 -H   unix:///var/run/docker.sock
4.7.3重启docker服务

systemctl restart docker

 

4.7.4开放2375端口,并重启iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 2375 -j ACCEPT

重启服务

  systemctl restart iptables.service
  systemctl enable iptables.service

4.7.5即可打包应用为docker镜像发布在远程服务器

mvn  clean package docker:build

4.7.5查看是否打包上去

docker images

4.7.6远程服务器可以根据镜像快速启动docker容器

 

 

 

 


推荐阅读
  • Shodan简单用法Shodan简介Shodan是互联网上最可怕的搜索引擎,与谷歌不同的是,Shodan不是在网上搜索网址,而是直接进入互联网的背后通道。Shodan可以说是一款“ ... [详细]
  • 概述H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议 ... [详细]
  • 域名解析系统DNS
    文章目录前言一、域名系统概述二、因特网的域名结构三、域名服务器1.根域名服务器2.顶级域名服务器(TLD,top-leveldomain)3.权威(Authoritative)域名 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • 本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ... [详细]
  • 使用Docker安装和运行Nexus
    本文介绍了使用Docker安装和运行Nexus的方法,包括docker-compose.yml配置和启动时可能出现的权限问题解决方法。同时提供了登录控制台验证安装的地址和登录信息。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • 有意向可以发简历到邮箱内推.简历直达组内Leader.能做同事的话,内推奖励全给你. ... [详细]
  • 本文主要介绍关于linux文件描述符设置,centos7设置文件句柄数,centos7查看进程数的知识点,对【Linux之进程数和句柄数】和【linux句柄数含义】有兴趣的朋友可以看下由【东城绝神】投 ... [详细]
  • 交换机配置:intg100unshintvlani1ipadd192.168.56.177qstelseuser-iv4authaaaproinsshupl3qsshuserpyt ... [详细]
  • Abp+MongoDb改造默认的审计日志存储位置
    一、背景在实际项目的开发当中,使用AbpZero自带的审计日志功能写入效率比较低。其次审计日志数据量中后期十分庞大,不适合与业务数据存放在一起。所以我们可以重新实现A ... [详细]
  • http:www.importnew.com6510.html优先级队列(PriprityQueue)是一种无界队列,基于优先级堆,它的元素根据自然顺序或者通过实现Compar ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了docker常用的命令总结相关的知识,希望对你有一定的参考价值。文章目录 ... [详细]
author-avatar
岁月静好198838
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有