云帆考试系统搭建
安装jre1.8
apt-get update
apt install openjdk-8-jre-headless
安装jdk1.8
apt install openjdk-8-jdk-headless
新建项目文件夹
mkdir yunfan
将云帆项目jar包上传至服务器新建项目文件夹内
部署mysql和PHPmyadmin
version: '3'
services:
mysql-yunfan:
image: mysql:5.7
container_name: mysql-yunfan
restart: always
ports:
- 3306:3306
volumes:
- ./mysql:/etc/mysql
- ./mysql-data:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro
environment:
- MYSQL_ROOT_PASSWORD=meUh0lXgBlom
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
container_name: phpmyadmin
volumes:
- /etc/localtime:/etc/localtime:ro
ports:
- 80:80
environment:
- PMA_ARBITRARY=1
修改mysqld.cnf文件,添加时区和不区分大小写选项,屏蔽bind-address
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
default-time-zone = '+8:00'
lower_case_table_names =1
#skip-grant-tables
#log-error = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
root@yf-server:/opt/yunfan/mysql-yunfan/mysql/mysql.conf.d#
启动mysql与phpmyadmin容器
docker-compose up -d && docker-compose logs -f
进入项目文件夹
cd /opt/yunfan
修改application.properties文件中数据库设置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://ip:3306/yf_exam_lite?useUnicode=true&characterEncoding=UTF-8&useSSL=false\&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=123456
创建云帆考试系统的docker镜像
编写Dockerfile文件
FROM openjdk:8-jre
#WORKDIR指令用于指定容器的一个目录, 容器启动时执行的命令会在该目录下执行。
WORKDIR /opt/dockerfileimage-jar/
#将当前spring.jar 复制到容器根目录下
COPY exam-api.jar exam-api.jar
COPY start.sh start.sh
COPY application.properties application.properties
#将依赖包 复制到容器根目录/libs下,spring.jar已不再需要添加其它jar包
#ADD libs /libs
#暴露容器端口为8080 Docker镜像告知Docker宿主机应用监听了8080端口
EXPOSE 8101
#容器启动时执行的命令
CMD sh start.sh
创建docker镜像
docker build -t exam-api:2.0 .
使用新建docker镜像启动云帆容器
docker run --name=yf -p 8101:8101 exam-api:2.0
登录mysql还原初始化sql文件
浏览器访问http://ip:8101查看部署成功