(注意:整体项目在阿里云+腾讯云的centos7服务器下部署运行)
工具版本
nacos 2.0.3
mysql 8.0.27
rabbitmq 3.12.0
nginx 1.24.0
spring cloud alibaba 2.2.7.RELEASE
安装docker
yum remove docker # 删除原有的docker
----------------------------
yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken
这是一个安装软件包的命令,它使用了yum
包管理器,并指定了安装的软件包列表。命令中的参数解释如下:
-y
:在安装过程中自动回答"yes",无需用户确认。yum-utils
:提供了额外的工具和插件,用于增强yum
包管理器的功能。device-mapper-persistent-data
:用于设备映射的持久数据存储。lvm2
:逻辑卷管理器,用于创建和管理逻辑卷。
--skip-broken
参数表示如果在解析和处理软件包依赖关系时出现问题,yum
将跳过有问题的软件包而不是中断整个过程。
----------------------------
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 添加阿里云的Docker仓库地址
----------------------------
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
#更新Docker仓库的配置,将原来的download.docker.com
替换为阿里云的镜像地址
----------------------------
yum makecache fast #刷新仓库缓存
yum install -y docker-ce #安装docker-ce
systemctl start docker #启动docker
systemctl status docker #查看docker状态(看到有一段绿色的“active (running) ” 即可)
----------------------------
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://n0dwemtq.mirror.aliyun.com"]
}
EOF
# 使用阿里云的镜像加速服务
sudo systemctl daemon-reload # 重新加载系统服务
sudo systemctl restart docker # 重启Docker服务
----------------------------
安装docker-compose(后续启动4个工具)
获取docker-compose文件 将文件上传到/usr/local/bin
chmod +x docker-compose # 修改文件权限
配置nginx
docker pull nginx:1.24.0
----------------------------
# 创建挂载目录
mkdir -p /home/nginx/conf
mkdir -p /home/nginx/log
mkdir -p /home/nginx/html
----------------------------
docker run --name nginx -p 9003:80 -d nginx:1.24.0 # 生成容器
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf # 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/conf.d # 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/usr/share/nginx/html /home/nginx/ # 将容器中的html文件夹复制到宿主机
----------------------------
docker stop nginx # 关闭容器
docker rm nginx # 删除该容器
----------------------------
添加并修改nginx配置文件(nginx.conf)
user root;
server {
listen 80;
server_name 8.134.94.214;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /images {
alias /home/images;
allow all;
autoindex on;
}
location /music {
alias /home/music;
allow all;
autoindex on;
}
location /animation {
alias /home/animation;
allow all;
autoindex on;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
启动4个工具
将配置好的docker-compose.yml文件放置与nginx的同级目录下。
version: "3.2"
services:
nacos:
image: nacos/nacos-server:2.0.3
restart: always
privileged: true
environment:
MODE: standalone
ports:
- "8848:8848"
- "9848:9848"
- "9849:9849"
nginx:
image: nginx:1.24.0
volumes:
- "$PWD/nginx/conf/nginx.conf:/etc/nginx/nginx.conf"
- "$PWD/nginx/conf/conf.d:/etc/nginx/conf.d"
- "$PWD/nginx/log:/var/log/nginx"
- "$PWD/nginx/html:/usr/share/nginx/html"
- "$PWD/nginx/images:/home/images"
- "$PWD/nginx/animation:/home/animation"
- "$PWD/nginx/music:/home/music"
ports:
- "9003:80"
rabbitmq:
image: rabbitmq:3.12-management
ports:
- "5672:5672"
- "15672:15672"
mysql:
image: mysql:8.0.27
environment:
MYSQL_ROOT_PASSWORD: 123456
ports:
- "3306:3306"
docker-compose up -d # 拉取镜像并启动容器
docker-compose restart # 重启所有容器
docker-compose down # 停止并删除所有容器
配置nacos
添加名称空间
命名空间ID:281d52a9-e52e-48b5-b88d-936cde13825a
添加配置文件内容
Data ID:QHBlindBox-dev.yml
Group:A
配置内容:
test:
name: test3
wechat:
appid: wxd2b0303c34385c5f
appsecret: f3ff379398c73fed0f5f618cf87eb50b
staticurl:
cover: http://8.134.94.214:9003/images/cover/moren.jpg
usercoverurl: /home/aliyun/nginx/images/cover/
usercover: http://8.134.94.214:9003/images/cover/
productcategory: http://8.134.94.214:9003/images/product_category
productcategoryurl: /home/aliyun/nginx/images/product_category
producttype: http://8.134.94.214:9003/images/product_type
producttypeurl: /home/aliyun/nginx/images/product_type
probability:
state1: 90
state2: 7
state3: 2
state4: 1
配置mysql
docker exec -it mysql bash #进入容器
mysql -u root -p # 进入数据库 (填写密码后输入以下代码)
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
SELECT plugin FROM mysql.user WHERE User = 'root';
使用navicat工具链接后创建数据库并执行sql文件
配置rabbitmq
----------------------------
添加orderExchange
添加orderQueue其中Type为classic并绑定orderExchange
Routing key为orderProduct
----------------------------
添加userExchange
添加userQueue其中Type为classic并绑定userExchange
Routing key为userIntegral
----------------------------
启动6个微服务
yum install java-1.8.0-openjdk* -y # 安装java-8
nohup Java -jar 服务jar包 > 服务名称.out &
tail -n 100 # 查看最近100行日志信息
文章参考
Docker安装RabbitMQ docker安装RabbitMQ完整详细教程-CSDN博客
【云原生】Docker入门 -- 阿里云服务器环境下安装Docker_阿里云服务器 docker-CSDN博客
Docker学习〖二〗在阿里云docker中安装mysql并能访问到_阿里云使用docker建的mysql能在控制台查看吗-CSDN博客