startDockerImage.sh 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #!/bin/bash
  2. # 本脚本用于修改mysql安装配置文件信息
  3. echo -e "\033[33m
  4. ---------------
  5. -----SZHFY-----
  6. ----GB28181----
  7. ---------------
  8. \033[0m";
  9. echo -e "\033[33m 欢迎使用深圳合方圆科技一键部署国标平台安装程序 \033[0m";
  10. # 读取配置文件
  11. source ./config.cfg
  12. #检查是否启用docker安装 enable_sql 为1时启用 为0时不启用
  13. if("$enable_sql" == "1");then
  14. # 导入mysql镜像
  15. docker load -i ./result/hfysql.tar
  16. # 检查容器是否已经启动,如果已经启动则尝试导出数据库
  17. docker ps -a | grep hfysql
  18. if [ $? -eq 0 ]; then
  19. # 导出数据库
  20. docker exec -it hfysql mysqldump -uroot -p$mysqlPasswd --all-databases > /data/mysql/hfysqlSave.sql
  21. # 停止容器
  22. docker stop hfysql
  23. # 删除容器
  24. docker rm hfysql
  25. fi
  26. # 为mysql添加用户,并且授权数据库给该用户
  27. docker exec -it mysql mysql -uroot -p$mysqlPasswd -e "CREATE USER '$mysqlUser'@'%' IDENTIFIED BY '$mysqlPasswd';GRANT ALL PRIVILEGES ON *.* TO '$mysqlUser'@'%';FLUSH PRIVILEGES;"
  28. # 启动mysql容器
  29. docker run -d --name hfysql \
  30. -p "$mysql_port":3306 \
  31. -v /data/mysql:/var/lib/mysql \
  32. -e MYSQL_ROOT_PASSWORD="$mysqlPasswd" \
  33. -e MYSQL_DATABASE="$mysqlDatabase" \
  34. -e MYSQL_USER="root" \
  35. -e MYSQL_ROOT_PASSWORD="hfy$mysqlPasswd" \
  36. hfysql:latest
  37. if [ $? -ne 0 ]; then
  38. echo "run mysql docker failed";
  39. fi
  40. fi
  41. # 检查是否启用redis安装 enable_redis 为1时启用 为0时不启用
  42. if("enable_redis" == "1");then
  43. # 修改配置redis配置文件
  44. sed -i \
  45. -e "s/^port .*$/port $redis_port/g" \
  46. -e "s/^requirepass .*$/requirepass $redis_passwd/g" \
  47. $SCRIPT_DIR"/redis.conf";
  48. # 导入redis镜像
  49. docker load -i ./result/hfyredis.tar
  50. # 检查容器是否已经启动,如果已经启动则关闭并且删除容器
  51. docker ps -a | grep hfyredis
  52. if [ $? -eq 0 ]; then
  53. # 停止容器
  54. docker stop hfyredis
  55. # 删除容器
  56. docker rm hfyredis
  57. fi
  58. # 启动redis容器 host 模式启动,端口映射到宿主机
  59. docker run -it -p "$redisPort":"$redisPort" \
  60. -v /data/redis:/data/redis \
  61. -v /data/redis/logs:/data/redis/logs \
  62. --name hfy_redis -itd hfyredis:latest
  63. fi