1. 安装ContOS7操作系统
2. 安装docker
参考博客:https://www.icode9.com/content-3-660803.html
docker文档:https://docs.docker.com/get-docker/
卸载旧版本
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装
yum-utils
软件包$ sudo yum install -y yum-utils \device-mapper-persistent-data \lvm2
设置稳定的仓库
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装最新版本的 Docker Engine-Community 和 containerd
$ sudo yum install docker-ce docker-ce-cli containerd.io
启动及查看版本 ```shell $ sudo systemctl start docker
$ docker version
6. 设置开机启动
```shell
$ sudo systemctl enable docker
3.给docker设置阿里云镜像加速
https://cr.console.aliyun.com/cn-qingdao/instances/mirrors
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://l6ka2w45.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
4.使用docker安装mysql并启动及有关配置
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 将mysql容器内文件挂载到外部Linux系统中
-e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码为root
-d: 后台运行容器,并返回容器ID
3、修改mysql字符编码
vi /mydata/mysql/conf/my.conf
进入到相关配置文件填写以下内容
[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已经启动的程序
[root@shc mysql]# docker ps
CO#NTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b166cdf71ece mysql:5.7 "docker-entrypoint.s…" 9 minutes ago Up 9 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
#重新启动mysql
[root@shc mysql]# docker restart mysql
mysql
#进入mysql容器
[root@shc mysql]# docker exec -it mysql /bin/bash
#进入mysql目录
root@b166cdf71ece:/# cd /etc/mysql/
#查看目录下文件
root@b166cdf71ece:/etc/mysql# ls
my.conf
#抓取my.conf文件
root@b166cdf71ece:/etc/mysql# cat my.conf
#发现刚才改的文件已经修改好了
[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
#退出容器
root@b166cdf71ece:/etc/mysql# exit;
exit
修改mysql时区
#进入mysql容器
[root@shc mysql]# docker exec -it mysql /bin/bash
#进入数据库
$ mysql -u root -p
#查看时区
SELECT TIMEDIFF(NOW(), UTC_TIMESTAMP);
+--------------------------------+
| TIMEDIFF(NOW(), UTC_TIMESTAMP) |
+--------------------------------+
| 00:00:00 |
+--------------------------------+
#如果是中国标准时间, 会输出 08:00:00。
#查看 MySQL 当前时间、当前时区:
select curtime();
show variables like "%time_zone%";
#修改时区:
set global time_zone = '+8:00'; # 修改MySQL全局时区为北京时间,即我们所在的东8区
set time_zone = '+8:00'; # 修改当前会话时区
每次启动docker自动启动mysql
docker update mysql --restart=always
5.安装redis
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
///
# 如果直接挂载的话docker会以为挂载的是一个目录,所以我们先创建一个文件然后再挂载
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
docker pull redis
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
# 直接进去redis客户端。
docker exec -it redis redis-cli
默认是不持久化的。在配置文件中输入appendonly yes,就可以aof持久化了。修改完docker restart redis,docker -it redis redis-cli
vim /mydata/redis/conf/redis.conf
# 插入下面内容
appendonly yes
保存
docker restart redis
设置redis容器在docker启动的时候启动
docker update redis --restart=always
安装Redis客户端并连接服务器上的redis
每次启动docker自动启动redis
docker update redis --restart=always
6.环境-项目结构创建&提交到码云
项目搭建
在码云创建仓库,并使用仓库HTTPS在Idea中创建项目
Git
搭建微服务模块
商品服务、仓储服务、订单服务、优惠券服务、用户服务
共同:
- Spring框架
- 工具导入 : web、openfeign(该工具用于微服务与微服务之间相互调用)
- 包名统一 : com.atguigu.gulimall.xxx (product/order/ware/coupon/member)
- 模块名 : gulimall-xxx (product/order/ware/coupon/member)
添加配置
在主目录下添加pom.xml文件,将模块整合
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.atguigu.gulimall</groupId>
<artifactId>gulimall-ware</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>gulimall-ware</name>
<description>谷粒商城仓储服务</description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>2020.0.1</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
将此pom文件添加到Maven中
添加插件Git
在主目录下配置上传到码云的过虑文件
Ctrl+k 打开