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. redis 4,0 安装

    安装redis : 1,yum install wget -y 2,cd /opt: 3,wget http://download.redis.io/releases/redis-4.0.10.tar ...

  2. 网站搜索引擎优化SEO策略及相关工具资源

    网站优化的十大奇招妙技 1. 选择有效的关键字: 关键字是描述你的产品及服务的词语,选择适当的关键字是建立一个高排名网站的第一步.选择关键字的一个重要的技巧是选取那些常为人们在搜索时所用到的关键字. ...

  3. python入门-存储数据

    这里的存储数据使用json格式 json   是javascript object notation的意思  javascript的对象标记 1 写入 json.dump import json nu ...

  4. linux 基本。。

    一. 将磁盘分区挂载为只读 这一步很重要,并且在误删除文件后应尽快将磁盘挂载为只读.越早进行,恢复的成功机率就越大. 1.  查看被删除文件位于哪个分区 [root@localhost  ~]# mo ...

  5. sparkcontext 和 sparkconf

    http://spark.apache.org/docs/latest/rdd-programming-guide.html The first thing a Spark program must ...

  6. 9. MyEclipse中的SVN操作手册

     该文章转载出处:http://blog.sina.com.cn/s/blog_8a3d83320100zhmp.html 1.导入项目 点击工具栏上的[File-Import],进入下图 (如果你的 ...

  7. 3.Web项目中使用Log4j实例

    转自:https://blog.csdn.net/luohai859/article/details/52250807 上面代码描述了Log4j的简单应用,其实使用Log4j也就是这样简单方便.当然除 ...

  8. Spring MVC 支持的原生API参数

    HttpServletRequest HttpServletResponse HttpSession java.security.Principal Local InputStream OutputS ...

  9. OpenSL ES 查询设备支持的SL Profiles

    opensl es 提供了三种类型:分别是 SL_PROFILES_PHONE(手机):SL_PROFILES_MUSIC(音乐); SL_PROFILES_GAME (游戏). 如果你使用的手机的开 ...

  10. 获取request错误信息

    from: https://stackoverflow.com/questions/19370436/get-errno-from-python-requests-connectionerror 当使 ...