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

看是否能够联通

1.5如果是win7的电脑, 需要

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.)

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

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

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

docker run --name mysql01 -e MYSQL_ROOT_PASSWORD= -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文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="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">
<modelVersion>4.0.</modelVersion> <groupId>com.zy</groupId>
<artifactId>spring-boot-rest-demo</artifactId>
<version>0.0.-SNAPSHOT</version>
<packaging>jar</packaging> <name>spring-boot-rest-demo</name>
<description>spring-boot-rest-demo</description>
<!-- 继承springboot提供的父工程; -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5..RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent> <properties>
<project.build.sourceEncoding>UTF-</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<!--指定远程docker的位置;开启远程docker的2375 -->
<dockerHost>http://192.168.0.199:2375</dockerHost>
</properties> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- spring-boot-starter-xxx:场景启动器
spring-boot-starter-web:使用SpringBoot的web开发场景;
导入了web开发需要的所有依赖;
-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency> <dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.</version>
</dependency> <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency> <dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.</version>
</dependency> <!--引入swagger -->
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.</version>
</dependency> <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.</version>
</dependency> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- docker maven打包插件;可以将应用做成docker镜像 -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.</version>
<configuration>
<!-- 注意imageName一定要是符合正则[a-z0--_.]的,否则构建不会成功 -->
<!-- 详见:https://github.com/spotify/docker-maven-plugin Invalid repository name ... only [a-z0-9-_.] are allowed-->
<imageName>spring-boot-rest-demo</imageName>
<baseImage>java</baseImage>
<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build> </project>

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
    <dockerHost>http://192.168.0.110:2375</dockerHost>
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容器

vmware14中安装centos7并使用docker发布spring-boot项目的更多相关文章

  1. 使用Docker部署Spring boot项目

    Docker是一个使用广泛的Linux容器管理工具包,它允许用户创建镜像,并将其容器实例化.通过本指南,我们可以学习到如何使用Docker部署Spring Boot项目. 先决条件 开发之前,你必须具 ...

  2. Windows Docker 部署 Spring Boot 项目

    目录 Docker Configuration Config IDEA Plugin Create Spring Boot Project Containerize It Use Dockerfile ...

  3. 使用 Docker 部署 Spring Boot 项目

    Docker 介绍 Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口.它是目前最流行的 Linux 容器解决方案. Docker 将应用程序与该程序的依赖,打包在一个文件里面 ...

  4. 使用 Docker 部署 Spring Boot 项目,带劲!!

    上一篇:年轻人的第一个 Docker 应用 Docker 一次构建.处处运行及快速启停的特性,在微服务架构中有着举足轻重的地位,具体的概念性的东西就不介绍了,不懂的点击这里阅读 Docker 基础教程 ...

  5. 【docker】docker部署spring boot项目在服务器上

    IDE:idea 工具:docker spring boot:2.0.1 ======================================== 简单记录一下流程,以供参考: 第一步:首先得 ...

  6. docker部署spring boot项目在服务器上

    IDE:idea 工具:docker spring boot:2.0.1 ======================================== 简单记录一下流程,以供参考: 第一步:首先得 ...

  7. IDEA连接远程服务器Docker部署Spring Boot项目

    开始前的准备工作 拥有一台云服务器,我的是腾讯云服务器(CentOS7) 腾讯云服务器安装Docker,我的版本是Docker 19.03.9,关于安装和配置镜像加速器可以查阅我的另一篇博文:http ...

  8. Docker 部署Spring Boot 项目并连接mysql、redis容器(记录过程)

    Spring Boot 项目配置 将写好的Spring Boot 项目通过maven 进行package打包获得可执行Jar 再src/main/docker(放哪都行)下编写创建Dockerfile ...

  9. 新手学Linux:在VMware14中安装CentOS7详细教程

    VMware Workstation14安装CentOS7.0 详情教程 1.准备工作 a)下载VMware workstation14 b)下载CentOS7 c)下载SSH Secure Shel ...

随机推荐

  1. Spark分析之Standalone运行过程分析

    一.集群启动过程--启动Master $SPARK_HOME/sbin/start-master.sh start-master.sh脚本关键内容: spark-daemon.sh start org ...

  2. spring的Ioc容器与AOP机制

    为什么要使用Spring的Ioc容器? 1.首先,spring是一个框架,框架存在的目的就是给我们的编程提供简洁的接口,可以使得我们专注于业务的开发,模块化,代码简洁,修改方便. 通过使用spring ...

  3. Nature | 光学CNN层替换传统CNN层,超省电

    CNN 计算效率的研究一直备受关注,但由于功率和带宽的严格限制,CNN 仍难以应用在嵌入式系统如移动视觉.自动驾驶中.在斯坦福大学发表在 Nature 旗下 Scientific Reports 的这 ...

  4. ubuntu16.04安装python3,numpy,pandas等量化计算库

    ubunt安装python3 sudo add-apt-repository ppa:fkrull/deadsnakessudo apt-get updatesudo apt-get install ...

  5. 解决QT出现XXXX.dll不能加载问题

    第一步:下载相关动态链接文件(这里以ig4icd32.dll为例子) 下载地址:ig4icd32.dll文件 第二步:把下载的文件放在两个地方,记住!一定得放在两个地方,我试了少一个都不行! C:\W ...

  6. WebService 服务端客户端 实例 HTTPRIO (一) SOAP WSDL

    Delphi中WebService包含的组件解释(有7个)     (1) THTTPRIO-------:使用Http消息来调用远程使用SOAP的接口对象     (2) THTTPReqResp- ...

  7. SQL 2012 分页取数据

    ,), data int ) select * from t1 row rows only create clustered index t1c on t1(id) declare @i int ) ...

  8. c++builder XE7 C++11 C++0x 新语法

    Non-static data member initializers 非静态成员变量初始化变得简单,这个XE7 64位编译成功,32位还是不支持 As a simple example, struc ...

  9. 敏捷:什么是用户故事(User Story)

    摘要: 一件用户通过系统完成他一个有价值的目标(买一罐饮料)的事.这样的过程就叫"用户案例(user case)"或者"用户故事(user story)".本文 ...

  10. PuTTY免输密码自动登录Linux

    1.使用PuTTY安装目录里的puttygen.exe工具.先点“生成(Generate)”,然后随意移动鼠标直到进度条填满,即可生成密钥 公钥部分:把上边那一段文字全选->复制备用.(不要点击 ...