目录
- 一.安装docker
- 二.docker安装和配置nginx
- 1.拉取nginx
- 2.创建临时nginx容器
- 3.从nginx容器复制 nginx.conf 文件到宿主机
- 4.删除临时nginx容器
- 5.启动真正的nginx容器
- 6.查看是否挂载成功
- 7.配置nginx.conf 和 vue的包放到指定位置
- 三 docker安装部署redis
- 1.安装redis
- 2.部署redis
- 四 docker安装部署mysql
- 1.安装mysql
- 2.部署mysql
- 3.远程连接不上解决
- ① 数据库远程权限没开
- ② 防火墙问题
- 五 docker 部署 springboot 项目
一.安装docker
如果你不是前后端分离的,那你直接看第五步就行。
linux安装docker
以下命令我使用的是普通用户和CentOS7.9的linux环境
注意: 以下步骤要是不通,那就可能是文件夹权限或者防火墙的事,也有可能是端口占用。
二.docker安装和配置nginx
1.拉取nginx
注意:如果你想写固定版本号,那你需要先去docker官网查询支不支持你写的版本号
$ sudo docker pull nginx:版本号 //如果不写版本号,那就拉取最新的nginx
$ sudo dokcer images //查看你的镜像
2.创建临时nginx容器
dokcer常用命令
$ sudo docker run -d -p 4455:80 --name nginxtest nginx //运行nginx容器
-d //后台方式启动
-p 4455:80 //将容器的80端口映射到4455上
--name nginxtest //自定义容器的名字
$ sudo docker ps //查看运行中的容器
$ sudo docker ps -a //查看所有的容器
测试nginx:你的虚拟机ip+映射端口号(注意:测试的电脑必须和你的虚拟机在一个网段,至少处于同一局域网),这个容器的目的就是为了让我们拿到 nginx.conf
文件
3.从nginx容器复制 nginx.conf 文件到宿主机
//提前在宿主机创建一个 nginx 目录然后在 nginx目录下创建一个html目录
// 将容器的nginx.conf文件复制到 宿主机的 /usr/nginx 目录下
$ sudo docker cp 容器id或容器名称:/etc/nginx/nginx.conf /usr/nginx
$ sudo mkdir /usr/nginx //创建nginx目录
$ sudo mkdir /usr/nginx/html //在nginx目录下在创建html目录
4.删除临时nginx容器
$ sudo docker rm -f 容器id或容器名称
5.启动真正的nginx容器
sudo docker run -d -p 3344:80 -v /usr/nginx/html:/usr/share/nginx/html -v /usr/nginx/nginx.conf:/etc/nginx/nginx.conf --name nginx1 nginx
-v 宿主机目录或文件:虚拟机目录或文件; 使两个目录或文件夹同步
6.查看是否挂载成功
$ sudo docker inspect 容器id或容器名称
7.配置nginx.conf 和 vue的包放到指定位置
首先打包之后,得到dist文件,然后里面包含 index.html 和 static 文件,放到你新建的 html文件夹下
配置nginx.conf
server{
listen 80; //nginx的端口号
server_name localhost; //访问的域名
location / {
root /usr/share/nginx/html; //访问你首页的地址
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
}
完成配置之后,要重启nginx,然后直接 虚拟机的ip + 你映射的nginx端口 就能访问你的前端项目了。
三 docker安装部署redis
1.安装redis
$ sudo docker pull redis //拉取最新的redis
2.部署redis
sudo docker run -d -p 6379:6379 --name myredis redis --requirepass "密码" //运行redis镜像
测试redis是否启动成功
链接:redis可视化工具
提取码:0221
四 docker安装部署mysql
1.安装mysql
$ sudo docker pull mysql //拉取最新的mysql
2.部署mysql
$ sudo docker run -d -p 3306:3306 --name mymysql -e MYSQL_ROOT_PASSWORD=root mysql //运行mysql镜像
3.远程连接不上解决
注意: 远程连接的机器必须和你虚拟机在一个局域网里面才行,或者一个网段也行。要不然就得使用VPN。
① 数据库远程权限没开
select host,user,password from user; //查看用户表
如果没有上图的第二条信息,那你就需要新建一个用户,并且设置密码,然后刷新缓存,就可以连接了
CREATE USER 'test'@'%' IDENTIFIED BY 'admin'; //新建一个名为 test并开启远程连接,密码为admin的用户
flush privileges; //刷新权限
② 防火墙问题
CentOS 7 防火墙命令
(1)systemctl status firewalld.service //查看防火墙的状态;
(2)systemctl start firewalld.service //启动防火墙;
(3)systemctl stop firewalld.service //关闭防火墙;
(4)systemctl restart firewalld.service //重启防火墙;
(5)systemctl enable firewalld.service //开机启动防火墙;
(6)systemctl disable firewalld.service //开机禁用防火墙;
(7)systemctl is-enabled firewalld.service //查看防火墙是否开机启动;
五 docker 部署 springboot 项目
docker 部署 springboot 项目