环境-虚拟机创建
虚拟机使用:下载VirtualBox
虚拟机整合:Vagrant
通过Vagrant创建虚拟机和连接虚拟机以及退出虚拟机:
环境-虚拟机网络设置
设置虚拟机网络的原因:如果不设置虚拟机固定ip地址,则使用端口转发的方式,端口转发的方式存在windows和虚拟机需要一对一设置端口转发的问题。
设置虚拟机ip地址:
1.先查询虚拟机网卡
2.在本地 D:\lfy编辑Vagrantfile文件,设置ip地址
3.windows和虚拟机之间尝试互相ping
虚拟机地址:
windows地址:
互ping结果:
环境-安装docker
安装流程:
#1、卸载系统之前的 docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
#2.安装必须的依赖
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
#设置 docker repo 的 yum 位置
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
#安装 docker,以及 docker-cli
sudo yum install docker-ce docker-ce-cli containerd.io
出现报错:
[vagrant@localhost ~]$ sudo yum install docker-ce docker-ce-cli containerd.io
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
No package docker-ce available.
No package docker-ce-cli available.
No package containerd.io available.
Error: Nothing to do
[vagrant@localhost ~]$ sudo systemctl start docke
Failed to start docke.service: Unit not found.
原因:yum源存在问题
解决方案:
安装yum-utils,它提供了yum-config-manager,可用来管理yum源。
sudo yum install -y yum-utils
执行以下指令添加源,并重新执行安装指令。
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
剩余安装代码:
docker配置阿里云镜像:(之后安装的组件就无需在外网拉取)
docker安装mysql:
需要切换root权限,密码vagrant
需要在docker容器中创建mysql和redis,并且将docke容器文件和mysql,redis进行文件挂载和端口映射。作用:访问linux中的3306端口就能访问docker容器内部中的3306端口mysql,修改容器中的主要配置文件,不用进入到容器内部修改,只需在挂载到linux中的文件修改即可(类似快捷方式)。
具体操作:
1 、下载镜像文件
docker pull mysql:5.7
2 、创建实例并启动
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
参数说明
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
MySQL 配置
vi /mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
docker安装redis
1 、下载镜像文件
docker pull redis
2 、创建实例并启动
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
3 、使用 redis 镜像执行 redis-cli 命令连接
docker exec -it redis redis-cli
4.配置conf文件,开启持久化和远程权限
Another Redis Desktop Manager连接redis
最后设置docker容器开机自启动
环境-开发工具和环境
按照往常的开发工具和环境开发,没按照视频的设置,故省略
创建微服务
商品服务、仓储服务、订单服务、优惠券服务、用户服务
共同点:
1、web和openfeign组件
2、每一个服务的包名 com.lnut.liyumall.xxx(product/order/ware/coupon/member)
3、模块名:liyumall-coupon
group:com.lnut.liyumall
artifact:liyumall-ware
type:maven
name:liyumall-ware
package:com.lnut.liyumall.ware
先创建模块,再管理组件版本
设置.gitignore提交忽略文件:
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
.mvn/wrapper/maven-wrapper.jar
#git提交忽略的垃圾文件
**/mvnw
**/mvnw.cmd
**/.mvn
**/target/
.idea
**/.gitignore