一、创建网络
1.搭建net-ry局域网
用于部署若依项目
docker network create net-ry --subnet=172.68.0.0/16 --gateway=172.68.0.1
查看一下。
2、关闭防火墙
1)、关闭防火墙
systemctl stop firewalld
如果不关闭防火墙,容器内部的mysql、redis等服务,外部访问不了;开放端口号也没用。
2)、重启docker
systemctl restart docker
如果不重启会出现以下错误:
二、安装redis
1、安装
1、创建目录
mkdir -p /data/redis/{conf,data}
2、上传redis.conf文件
1、修改如下三个配置:
- bind 0.0.0.0 充许任何主机访问
- daemonize no
- requirepass 密码 :这里的意思是如果想要密码就设置访问redis的密码,如果不想要密,就直接注释掉。
打开Xftp,传到 /data/redis/conf 里面
3、创建并启动容器
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
–privileged=true :让容器root用户拥有最高权限,否则可能会出现权限不够错误
redis-server /etc/redis/redis.conf:容器启动时执行的命令及读取的配置
redis-6.2.6.tar.gz压缩包中找到redis.conf官方配置文件
4、找到redis启动方式
[root@localhost conf]# pwd
/data/redis/conf
[root@localhost conf]# docker exec -it zking-redis /bin/bash
root@c00b70a6b430:/data# whereis redis-cli
redis-cli: /usr/local/bin/redis-cli
root@c00b70a6b430:/data# cd /usr/local/bin
root@c00b70a6b430:/usr/local/bin# ls
docker-entrypoint.sh redis-benchmark redis-check-rdb redis-sentinel
gosu redis-check-aof redis-cli redis-server
root@c00b70a6b430:/usr/local/bin# redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> exit
这时候再用redis测试连接,就能成功连接了
三、安装MySQL
1、创建目录
[root@localhost conf]# pwd
/data/redis/conf
[root@localhost conf]# mkdir -p /data/mysql/{conf,data}
[root@localhost conf]# cd /data/mysql/
[root@localhost mysql]# ll
总用量 0
drwxr-xr-x. 2 root root 6 3月 29 16:56 conf
drwxr-xr-x. 2 root root 6 3月 29 16:56 data
[root@localhost mysql]# cd conf
2、上传mysql的cnf文件
1、打开Xftp,把cof文件,传到 /data/mysql/conf 目录下
2、修改cof文件名
[root@localhost conf]# mv my2.cnf my.cof
3、启动并启动容器
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=123 -p 3306:3306 \
mysql/mysql-server:5.7
这里注意网络,如果网络不好会下载失败。
4、验证登录mysql
[root@localhost conf]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
204b749af17b mysql/mysql-server:5.7 "/entrypoint.sh mysq…" About a minute ago Up About a minute (healthy) 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp zking-mysql
9e6c13fa4c15 redis "docker-entrypoint.s…" 5 minutes ago Up 5 minutes 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp zking-redis
[root@localhost conf]# docker exec -it zking-mysql /bin/bash
bash-4.2# mysql -uroot -p
能登陆进去mysql就没问题
5、设置远程连接
1、创建用户
此时的位置是登录mysql状态。在mysql里面进行
mysql> grant all privileges on *.* to root@'%' identified by 'sasa' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
2、验证
1、刷新一下
flush privileges;
2、打开mysql数据库连接虚拟机的ip地址,输入自己设置的密码,这时候就可以连接了。
3、初始化数据库
1、新建数据库–》2、导入sql脚本–》 --》刷新表,完成!
4、项目部署
1、构建Dockerfile镜像
1、退出mysql,回到家目录,创建用户并进入
mysql> exit
Bye
bash-4.2# exit
[root@localhost conf]# cd ~
[root@localhost ~]# pwd
/root
[root@localhost ~]# mkdir ruoyi-admin
[root@localhost ~]# cd ruoyi-admin/
[root@localhost ruoyi-admin]#
2、Dokerfile ruoyi-admin文件:
FROM anapsix/alpine-java:8_server-jre_unlimited
MAINTAINER "donkee@vip.qq.com"
ADD ruoyi-admin.jar /opt/app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/opt/app.jar"]
3、上传后台项目。
4、重命名
[root@localhost ruoyi-admin]# mv Dockerfile_ruoyi-admin Dockerfile
[root@localhost ruoyi-admin]# ll
总用量 79920
-rw-r--r--. 1 root root 169 3月 29 18:48 Dockerfile
-rw-r--r--. 1 root root 81831832 3月 29 18:47 ruoyi-admin.jar
2、构建镜像容器
1、创建镜像
[root@localhost ruoyi-admin]# docker build -t ruoyi-admin .
2、运行容器
运行容器之前先删掉/停掉运行ruoyi-admin容器,否则会出现容器冲突
我是直接用删除命令解决的这个问题。
docker rm -f ruoyi-admin
docker run -itd --name ruoyi-admin --network net-ry -p 8080:8080 ruoyi-admin
如果显示拒绝访问,那就是ruoyi-admin没有启动。
docker start ruoyi-admin
关闭防火墙
systemctl stop firewalld
重启docker
systemctl restart docker
安装nginx
1、创建目录
mkdir -p /data/nginx/{conf,html}
2、上传nginx.conf文件
3、启动容器
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
下载解压工具:unzip
yum install -y unzip
解压:
unzip dist.zip
访问成功!