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

 

 

 

 

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

1.1选择桥接模式

vmware14中安装centos7并使用docker发布spring-boot项目_第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

看是否能够联通

1.5如果是win7的电脑, 需要

vmware14中安装centos7并使用docker发布spring-boot项目_第2张图片

vmnet0,实际上就是一个虚拟的网桥

vmnet0,实际上就是一个虚拟的网桥,这个网桥有很若干个端口,一个端口用于连接你的Host,一个端口用于连接你的虚拟机,他们的位置是对等的,谁也不是谁的网关。所以在Bridged模式下,你可以让虚拟机成为一台和你的Host相同地位的机器。
vmnet1,这是一个Host-Only网络模式

vmnet1,这是一个Host-Only网络模式,这是用于建立一个与世隔绝的网络环境所用到的,其中vmnet1也是一个虚拟的交换机,交换机的一个 端口连接到你的Host上,另外一个端口连接到虚拟的DHCP服务器上(实际上是vmware的一个组件),另外剩下的端口就是连虚拟机了。虚拟网卡 “VMWare Virtual Ethernet Adapter for VMnet1”作为虚拟机的网关接口,为虚拟机提供服务。在虚拟机启动之后,如果你用ipconfig命令,你会很清楚的看到,你的默认网关就是指向 “VMWare Virtual Ethernet Adapter for VMnet1”网卡的地址的。(实际上它并不能提供路由,这是VMware设计使然,它是干了除了提供路由之外的一些事情——实际上是我也不知道它干了什 么事情),这里没有提供路由主要表现在没有提供NAT服务,使得虚拟机不可以访问Host-Only模式所指定的网段之外的地址。
vmnet8,这是一个NAT方式,最简单的组网方式了

vmnet8,这是一个NAT方式,最简单的组网方式了,从主机的“VMWare Virtual Ethernet Adapter for VMnet8”虚拟网卡出来,连接到vmnet8虚拟交换机,虚拟交换机的另外的口连接到虚拟的NAT服务器(这也是一个Vmware组件),还有一个口 连接到虚拟DHCP服务器,其他的口连虚拟机,虚拟机的网关即是“VMWare Virtual Ethernet Adapter for VMnet8”网卡所在的机器,废话,这肯定就是你的Host机器啦。同样,用ipconfig也可以看出来,你的虚拟机的默认网关也指向了你的 “VMWare Virtual Ethernet Adapter for VMnet8”虚拟网卡地址。相比之下,可以看出来,NAT组网方式和Host-Only方式,区别就在于是否多了一个NAT服务。

 

host-only与wmnet1虚拟网卡进行通信
NAT模式与VMnet8虚拟网卡进行通信
桥接使用的是你机器的真实网卡进行上网

 

 

 

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

vmware14中安装centos7并使用docker发布spring-boot项目_第3张图片

 进入容器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演示

vmware14中安装centos7并使用docker发布spring-boot项目_第4张图片

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

vmware14中安装centos7并使用docker发布spring-boot项目_第5张图片

重启服务

  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容器

 

 

 

 

转载于:https://www.cnblogs.com/psy-code/p/9748768.html

你可能感兴趣的:(数据库,运维,网络)