Docker前后端部署

mysql部署

docker run  -d      //后台运行
-v mysql data:/var/lib/mysql   //数据卷挂载,持久化存储,防止重启导致的数据丢失
-p 3306:3306        //开放3306端口号
-e MYSQL_ROOT_PASSWORD=root     //设置root的密码
--restart always    //停止后自动重启
--name blog_mysql   //将该容器命名为blog_mysql
mysql:5.7       //使用的镜像是mysql5.7
docker ps //查看容器

redis部署

AOF是redis数据持久化:redis是将自己的数据库状态存储到内存里面,一旦服务器退出,那redis数据也没有了。可以设置AOF将redis在内存中的数据库状态保存到磁盘里面。

//首先要开启AOF
redis-server --appendonly yes
docker run -d  -v redis_data:/data -p 6379:6379 --restart always --name blog_redis redis:7.0 redis-server --appendonly yes

redis的测试

进入容器内部去执行命令docker exec

使用交互式的方式docker exec -it

指定去哪一个容器,可以用容器id或者容器名称docker exec -it blog_redis bash

输入redis-cli进入容器内使用命令行

输入keys *看看容器里面有哪些数据

set a 1手动添加一些数据

get a 取出这个key对应的值

docker volume inspect redis_data查看容器详情

后端应用部署

项目配置文件里面,把redis和mysql的地址和端口修改为服务器的地址和docker容器的端口,

docker run -p 7777:7777 -d -v /usr/blog:/usr/blog --restart always --name blog_back java:openjdk-8u111 java -jar /usr/blog/xxxx.jar

docker 的网络

首先创建网络docker network blog_net

把容器加入对应的网络docker network connect blog_net blog_mysql

docker network connect blog_net blog_redis

这样就把redis和mysql都加入到了这个网络

可以用docker inspect blog_net来查看是否加入进去了

在创建容器mysql和reids的时候,可以使用--network blog_net将该容器直接加入到此网络中,这样后端去尝试访问redis或者MySQL的时候,可以在后端配置文件的mysql、redis的地址除直接写mysql、redis。这俩单词就直接代表了他们的地址。

前端部署

npm run build先打包~捏~( ̄▽ ̄)~*

打包后的资源放到宿主机的目录下面

docker run -p 80:80 -v /usr/blog/blog-vue/dist:/usr/share/nginx/html --restart always
-d --name blog_vue
 nginx:1.21.5

ps:前端应该访问的后端地址应该是宿主机的地址!在app.js里面修改需要请求的地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HalukiSan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值