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. web项目除了业务还需要关注的点

    1:安全性,不允许访问外网,访问外网通过反向代理的方式. 2:安全性,和外网交互的时候,需要CA证书,基于SSL协议的证书 3:日志,生产上通常会关闭某些日志,所以,允许出现的日志就显得至关重要了. ...

  2. Hibernate cascade级联

    cascade: 级联: 是对象的连锁操作 级联保存(一对多): 级联保存: 当保存双向关系的一方时,默认会报告错误,此时应该在customr中设置级联保存,即操作一个对象时,通过操作其他关联对象 如 ...

  3. Bogart gFunction.vb

    Module gFunction '其它不是常用的方法及函數 #Region " 將指定的數據格式轉換為英文格式" Public Function EnglishFormat(By ...

  4. jssip中文开发文档(完整版)

    jsSip开发文档 (官网地址:http://www.jssip.net/) 完整案例demo下载地址: http://download.csdn.net/download/qq_39421580/1 ...

  5. Django---form 详解

    Form表单的功能 准备数据.重构数据,以便下一步提交. 为数据创建HTML 表单 接收并处理客户端提交的表单和数据 普通字段详解: class BooleanField(**kwargs): 默认的 ...

  6. Qt 软件的发布

    我们程序的Release版本正式发布需要将各种依赖的库文件一起打包. 有时候我们并不清楚具体依赖哪些库,这时,可以用Qt的一个工具"windeployqt" 比如,找到程序.exe ...

  7. python之内置函数:map ,filter ,reduce总结

    map函数: #处理序列中的每个元素,得到的结果是一个'列表',该列表元素个数及位置与原来一样 filter函数: #遍历序列中的每个元素,判断每个元素得到一个布尔值,如果是true,则留下来 peo ...

  8. iOS toll-free bridge

    https://developer.apple.com/library/ios/documentation/CoreFoundation/Conceptual/CFDesignConcepts/Art ...

  9. autolayout UILabel 设置最大宽度

    label1.preferredMaxLayoutWidth = 100: label1.numberOfLines = 0; //自适应行数

  10. TEXT 6 Travelling with baggage

    TEXT 6 Travelling with baggage 背着行囊去旅行 Feb 16th 2006 From The Economist print edition (1)FEW modern ...