GDMP平台容器化部署

容器部署GDMP平台

一、docker安装

step 1: 安装必要的一些系统工具

yum install -y yum-utils device-mapper-persistent-data lvm2

Step 2: 添加软件源信息

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Step 3: 更新并安装 Docker-CE

yum makecache fast
yum -y install docker-ce

Step 4: 开启Docker服务

systemctl start docker

Step 5:查看 docker 相关信息

主要是验证docker是否安装成功,版本不做限制,建议16以上版本

docker -v
Docker version 20.10.22, build 3a2c30b

step 6: 设置docker开机自启

systemctl enable docker

二、配置docker镜像加速

vim /etc/docker/daemon.json

英文字母i,插入内容, :(英文冒号) wq!保存文件

{
"registry-mirrors": ["https://mb8n4btz.mirror.aliyuncs.com"]
}

修改保存完后,重启docker生效

systemctl restart docker

三、docker 命令补全(可选步骤)

yum install -y bash-completion
chmod 755 /usr/share/bash-completion/bash_completion
sh /usr/share/bash-completion/bash_completion
source /usr/share/bash-completion/completions/docker

断开终端重新连接后生效

四、安装docker-compose

step 1: 拉取postgresql:10.16版本镜像

sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

step 2: 添加可执行权限

sudo chmod +x /usr/local/bin/docker-compose

五、安装数据库postgresql,推荐的版本为10.16

step 1: 拉取postgresql:10.16版本镜像

docker pull postgres:10.16

step 2: 创建映射的数据库目录

mkdir -p /docker/postgres/data

step 3: 创建数据库容器,映射数据库的目录

docker run --name gdmp-db -e POSTGRES_PASSWORD=Rofine321 -d -p 5432:5432 -v /data/postgres/data:/var/lib/postgresql/data postgres:10.16

step 4: 修改数据库配置文件,修改pg_hba.conf和postgresql.conf,重启容器。

step 5: 进入容器,创建数据库和用户。

[root@daigang1 data]# docker exec -it a6ed962c8715 bash
root@a6ed962c8715:/# su postgres
postgres@a6ed962c8715:/$ psql -c "CREATE DATABASE gdmp;"
CREATE DATABASE
postgres@a6ed962c8715:/$ psql -d gdmp -c "CREATE USER gdmp WITH password 'Rofine321';"
CREATE ROLE
postgres@a6ed962c8715:/$ psql -d gdmp -c "CREATE SCHEMA gdmp;"
CREATE SCHEMA
postgres@a6ed962c8715:/$ psql -d gdmp -c "GRANT ALL ON SCHEMA gdmp TO gdmp;"
GRANT

step 6: 通过navicat,验证数据库访问。

在这里插入图片描述

六、安装应用程序GDMP

step 1: 拉取JDK 应用中间件 Apache Tomcat 8.5.81 的镜像。

docker pull tomcat:8.5.81-jre8-openjdk

step 2: 创建映射的附件目录

mkdir -p /docker/gdmp/upload
mkdir -p /docker/gdmp/tmp

step 3: 创建映射的附件目录

mkdir -p /docker/gdmp/upload
mkdir -p /docker/gdmp/tmp

step 4: 创建应用容器

docker run -d -p 9085:8080 --name gdmp-app -v /docker/gdmp/upload:/data/gdmp/upload -v /docker/gdmp/tmp:/data/gdmp/tmp tomcat:8.5.81-jre8-openjdk

step 5: 添加tomcat优化脚本

#获取容器ID,进入容器命令行
docker ps
docker exec -it 2ec3a490df15 bash
#增加启动参数(JVM最大2G为例,建议:-Xms -Xmx 堆内存,为物理内存的1/4-Xmn 为-Xmx的75%)
cat > /usr/local/tomcat/bin/setenv.sh <<"EOF"
CATALINA_OPTS="$CATALINA_OPTS -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl -Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl -Djavax.xml.transform.TransformerFactory=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl"
CATALINA_OPTS="$CATALINA_OPTS -Djava.security.egd=file:/dev/./urandom"
CATALINA_OPTS="$CATALINA_OPTS -Djava.awt.headless=true -Dfile.encoding=UTF-8 -XX:-OmitStackTraceInFastThrow"
CATALINA_OPTS="$CATALINA_OPTS -Xmn1500m -Xms2g -Xmx2g -XX:MetaspaceSize=384m -XX:MaxMetaspaceSize=384m"
CATALINA_OPTS="$CATALINA_OPTS -XX:+UseG1GC"
CATALINA_OPTS="$CATALINA_OPTS -XX:ErrorFile=$CATALINA_BASE/logs/hs_err_pid%p.log"
CATALINA_OPTS="$CATALINA_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$CATALINA_BASE/logs"
CATALINA_OPTS="$CATALINA_OPTS -verbose:gc -XX:+PrintCommandLineFlags -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -Xloggc:$CATALINA_BASE/logs/gc-$(date +%y%m%d%H%M%S).log"
EOF

step 6: 编辑上传war包

修改配置文件ROOT/WEB-INF/classes/application-default.properties
修改附件目录和临时文件目录,修改数据库的连接信息。

upload.path=/data/gdmp/upload
tmp.file.path=/data/gdmp/tmp
druid.url=jdbc:postgresql://192.168.106.21:5432/gdmp?currentSchema=gdmp
druid.username=gdmp
druid.password=Rofine321

上传war包

docker cp ROOT 0c6f4a3c1ec9:/usr/local/tomcat/webapps/

step 7:重启容器

docker restart 0c6f4a3c1ec9

step 8:查看容器日志

docker logs -f 0c6f4a3c1ec9

七、通过compose创建容器(创建容器的效率更高)

step 1:编写yml文件,vim /docker/gdmp-db-app.yml

version: '3'
services:
  gdmp-db:
    image: postgres:latest
    restart: always
    environment:
      POSTGRES_PASSWORD: Rofine321
    volumes:
      - /data/pgsql/data/5434:/var/lib/postgresql/data
      - /etc/localtime:/etc/localtime
    ports:
      - 30000:5432     
  gdmp-app:
    user: root
    restart: always
    image:  tomcat:8.5.81-jre8-openjdk
    privileged: true
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 30001:8080
    volumes:
      - /docker/tomcat/webapps/:/usr/local/tomcat/webapps/
      - /docker/tomcat/conf:/usr/local/tomcat/conf
      - /docker/tomcat/logs:/usr/local/tomcat/logs
      - /docker/tomcat/bin:/usr/local/tomcat/bin
      - /docker/tomcat/bin/upload:/usr/local/tomcat/upload
      - /docker/tomcat/bin/tmp:/usr/local/tomcat/tmp
      - /root/.gdmp:/root/.gdmp
      - /etc/localtime:/etc/localtime
      - /usr/share/fonts/:/usr/share/fonts/

step 2:执行脚本创建容器

docker-compose -f /docker/gdmp-db-app.yml up -d

step 3:数据库的备份还原

docker exec -t 容器id pg_dump -c -U user -d database > /xxx/xxx.sql
cat dump_07-02-2023_09_47_28.sql | docker exec -i  psql -U user -d database

备注:compose和直接创建容器二选一。

八、访问系统URL,注册license。

在这里插入图片描述
EOF

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值