作者:岁月静好198838 | 来源:互联网 | 2023-08-18 20:36
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服务
1.4将该固定IP设置进DNS中
vi /etc/resolv.conf
nameserver 8.8.8.8
search localdomain
sudo service network restart
测试:
看是否能够联通
2.安装docker
查看docker版本
启动docker
查看docker镜像
搜索镜像
下载镜像
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 stop mysql01(可以是container id,也可以是names)
查看所有镜像
删除当前镜像(根据container id)
强制删除当前镜像(根据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
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服务
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查看是否打包上去
4.7.6远程服务器可以根据镜像快速启动docker容器