下载初始化脚本,并自动部署至当前文件夹
https://raw.githubusercontent.com/xianyu-one/surveyking-docker/main/setup.sh -O setup.sh chmod +x setup.sh bash setup.sh
手工部署
1:先卸载这些旧版本,以及关联的依赖项
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
2:把yum源更换成阿里的yum源
下载阿里yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
3: 安装一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
4: 添加软件源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5: 更新并安装 Docker-CE
sudo yum -y install docker-ce docker-ce-cli containerd.io
6: 系统启动时自动启动
sudo systemctl enable docker --now
7: 验证 Docker 并查看其版本
docker -v
Docker version 26.1.4, build 5650f9b
docker-compose可以从github下载
放到
which docker-compose
/usr/bin/docker-compose
docker-compose -v
Docker Compose version v2.32.1
步骤 1:创建目录并下载必要文件
首先,打开终端并执行以下命令以创建必要的目录结构:
mkdir -p ./surveyking/mysql mkdir ./surveyking/sqls cd ./surveyking
步骤 2:下载初始化 SQL 文件和 Docker Compose 文件
接下来,我们将下载初始化 MySQL 数据库所需的 SQL 文件和 Docker Compose 配置文件:
wget https://raw.githubusercontent.com/xianyu-one/surveyking-docker/main/sqls/init-mysql.sql -O sqls/init-mysql.sql wget https://raw.githubusercontent.com/xianyu-one/surveyking-docker/main/docker-compose.yml.example -O docker-compose.yml
步骤 3:启动 Docker 容器
现在,我们将使用 Docker Compose 启动 SurveyKing 应用程序的容器。确保已经安装了 Docker 和 Docker Compose。执行以下命令:
docker-compose up -d
这将启动 SurveyKing 应用程序的容器,并且该应用程序应该已经在运行中。
创建一个,这里映射1991到主机8080端口
cat docker-compose.yml
version: '3.8' # 确保版本号与您的需求相符
services:
mysql:
image: mysql:8
container_name: mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: surveyking
MYSQL_DATABASE: surveyking
volumes:
- ./mysql/conf:/etc/mysql/conf.d
- ./mysql/data:/var/lib/mysql
- ./sqls:/docker-entrypoint-initdb.d
networks:
appnet:
ipv4_address: 10.20.52.20
surveyking:
image: mrxianyu/surveyking:latest
container_name: surveyking
restart: unless-stopped
environment:
MYSQL_USER: root
MYSQL_PASS: surveyking
DB_URL: jdbc:mysql://mysql:3306/surveyking
volumes:
- ./files:/app/files
- ./logs:/app/logs
ports:
- "8080:1991" # 将主机的8080端口映射到容器的1991端口
depends_on:
- mysql
networks:
appnet:
ipv4_address: 10.20.52.10
networks:
appnet:
driver: bridge
enable_ipv6: true
ipam:
driver: default
config:
- subnet: 10.20.52.0/24
gateway: 10.20.52.1
- subnet: FD00:1:1::/64
gateway: FD00:1:1::1
用户名admin
密码123456