目錄
一、搭建局域網(wǎng)
1.1、介紹前后端項目搭建
1.2、操作
二、安裝redis
測試
三、安裝Mysql
檢查
遠(yuǎn)程連接
?注意:0- 1-工具原因,復(fù)制進(jìn)去記得刪除?編輯
工具測試
四、部署后端服務(wù)
4.1、創(chuàng)建數(shù)據(jù)庫
4.2、使用Dockerfile自定義鏡像
測試
測試
五、前端部署
5.1、nginx部署
分析nginx.conf
?5.2、具體步驟
運行啟動容器
位置解釋
切換目錄?
解壓
測試
一、搭建局域網(wǎng)
1.1、介紹前后端項目搭建
需要4臺服務(wù)器,在同一個局域網(wǎng)中
1.2、操作
# 搭建net-ry局域網(wǎng),用于部署若依項目 net-ry:名字
docker network create net-ry --subnet=172.68.0.0/16 --gateway=172.68.0.1
#查看
docker network ls
?
能不能訪問分為2種情況:
?一、如果項目部署完上線了,外部不能訪問內(nèi)部
二、部署的時候是應(yīng)該能訪問的,需要看Mysql等是否安裝好,防火墻應(yīng)該關(guān)閉,來調(diào)試問題
#查看防火墻狀態(tài)
systemctl status firewalld
#關(guān)閉防火墻
systemctl stop firewalld
#啟動docker
systemctl restart docker
?
# 注意1:關(guān)閉宿主機的防火墻,否者容器內(nèi)部的MySQL、redis等服務(wù),外部訪問不了;開放端口3306、6379端口也沒用。
# 注意2:關(guān)閉防火墻后必須重啟docker,否者出現(xiàn)如下錯誤
docker: Error response from daemon: driver failed programming external connectivity on endpoint ruoyi-admin (399a34630e6ef8e4ed7cf20d46b9654c8d535d0fe44ceadebf8bd605d3da35b8): ?(iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8080 -j DNAT --to-destination 172.68.0.4:8080 ! -i br-c34635070c6f: iptables: No chain/target/match by that name.
參考鏈接:https://blog.csdn.net/xiegongmiao/article/details/128409967
二、安裝redis
#創(chuàng)建兩個目錄
mkdir -p /data/redis/{conf,data}
#
cd /data/redis/conf
ll
cd conf
進(jìn)入剛剛創(chuàng)建的conf目錄,上傳文件
?#上傳redis.conf文件到/data/redis/conf文件夾中
# bind 0.0.0.0 充許任何主機訪問
# daemonize no??因為用的是容器,Redis裝在容器里面,不影響輸入命令
# requirepass sasa ? 用戶密碼sasa?redis.conf修改
1. 允許redis外地連接?
#bind 127.0.0.1改成為
bind 0.0.0.0
?2. 開啟redis驗證(可選)
requirepass sasa
?3. 開啟redis數(shù)據(jù)持久化(可選)
appendonly yes
docker run -itd --name zking-redis -p 6379:6379 \
-v /data/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /data/redis/data:/data \
--privileged=true --restart=always \
--network net-ry redis \
redis-server /etc/redis/redis.conf?
id啟動? ? ? ?容器不進(jìn)入
zking-redis? ? ?名字
-p 6379:6379 \? ? 映射端口
-v? ? 掛載
-v /data/redis/data:/data \? ? ? 緩存數(shù)據(jù)
--privileged=true --restart=always \? ?給最高權(quán)限1. --privileged=true :讓容器root用戶擁有最高權(quán)限,否則可能會出現(xiàn)權(quán)限不夠錯誤
2. redis-server /etc/redis/redis.conf:容器啟動時執(zhí)行的命令及讀取的配置
3. redis-6.2.6.tar.gz壓縮包中找到redis.conf官方配置文件
4. 在hub.docker.com中找到啟動redis方式
測試
#進(jìn)入容器
docker exec -it zking-redis /bin/bash
#
whereis redis-cli
cd /usr/local/bin
ls
redis-cli
ping
三、安裝Mysql
#退出程序
exit
#退出容器
Ctrl+P+Q
# 1.創(chuàng)建文件夾
mkdir -p /data/mysql/{conf,data}
#進(jìn)入conf
cd /data/mysql/conf/
# 2.上傳my.cnf文件到/data/mysql/conf文件夾中
#將my2.cnf修改好在Linux中重命名為my.cnf
mv my2.cnf my.cnf
修改官方my.cnf
#運行mysql5.7,注意有單獨的mysql鏡像 docker run --name=mysql1 -d mysql/mysql-server:5.7 #進(jìn)入容器查看/etc/my.cnf文件,修改my.cnf文件,讓其支持中文查看mysql數(shù)據(jù)保存位置
cd /var/lib/mysql>1. 設(shè)置密碼
?-e MYSQL_ROOT_PASSWORD=sasa:設(shè)置root的密碼
?
3.啟動MySQL容器服務(wù)?
docker run -d --name zking-mysql --network net-ry \
-v /data/mysql/conf/my.cnf:/etc/my.cnf \
-v /data/mysql/data:/var/lib/mysql \
--privileged=true --restart=always \
-e MYSQL_ROOT_PASSWORD=sasa -p 3306:3306 \
mysql/mysql-server:5.7
等待時間有點久
檢查
docker ps
遠(yuǎn)程連接
# 進(jìn)入容器
docker exec -it zking-mysql /bin/bash
# 登錄
mysql -u root -p;
# 創(chuàng)建用戶及授權(quán)
grant all privileges on *.* to root@'%' identified by 'sasa' with grant option;
# 刷新權(quán)限
flush privileges;?
?注意:0- 1-工具原因,復(fù)制進(jìn)去記得刪除
工具測試
四、部署后端服務(wù)
4.1、創(chuàng)建數(shù)據(jù)庫
運行sql文件?
4.2、使用Dockerfile自定義鏡像
# 1.構(gòu)建Dockerfile鏡像
1)切換到家目錄
cd ~
#新建文件夾
mkdir ruoyi-admin
#切進(jìn)去
cd ruoyi-admin
2)上傳ruoyi-admin.jar到Dockerfile_ruoyi-admin文件所在目錄
?
#重命名
mv Dockerfile_ruoyi-admin Dockerfile
4)ruoyi-admin為鏡像名稱,開始制作鏡像
docker build -t ruoyi-admin .
測試
docker images
#運行容器
docker run -itd --name ruoyi-admin --network net-ry -p 8080:8080 ruoyi-admin
docker ps
#進(jìn)入容器
docker exec -it ruoyi-admin /bin/bash
#查看日志
cd /home/ruoyi/logs/
ls -l
測試
?
五、前端部署
5.1、nginx部署
分析nginx.conf
?5.2、具體步驟
# 1.創(chuàng)建目錄
mkdir -p /data/nginx/{conf,html}
# 2.切換到conf目錄
cd /data/nginx/conf/
#3上傳nginx.conf至/data/nginx/conf文件夾中
運行啟動容器
docker run -itd --name zking-nginx --network net-ry -p 80:80 \
-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/nginx/html:/usr/share/nginx/html \
--privileged=true --restart=always \
nginx
位置解釋
切換目錄?
cd /data/nginx/html/
上傳項目
解壓
#下載解壓命令
yum install -y unzip
#輸入解壓命令dist.zip壓縮包名字
unzip dist.zip
測試
去瀏覽器輸入ip
因為前端是80所有后面不需要帶端口,直接IP就可以了
點擊登錄就成功了文章來源:http://www.zghlxwxcb.cn/news/detail-840454.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-840454.html
到了這里,關(guān)于用docker一鍵部署前后端分離若依系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!