当前位置:   article > 正文

DataSophon部署(Dockerfile)_datasophon部署工具

datasophon部署工具

安装包准备

  1. mkdir -p /home/datasophon && cd /home/datasophon
  2. wget https://github.com/datavane/datasophon/releases/download/v1.2.0/datasophon-manager-1.2.0.tar.gz
  3. tar -zxvf datasophon-manager-1.2.0.tar.gz
  4. mkdir packages

修改数据库配置

  1. vim /home/datasophon/docker/datasophon-manager-1.2.0/conf/application.yml
  2. spring:
  3. datasource:
  4. type: com.alibaba.druid.pool.DruidDataSource
  5. url: jdbc:mysql://db:3306/datasophon?useUnicode=true&characterEncoding=utf-8
  6. username: username
  7. password: password
  8. driver-class-name: com.mysql.jdbc.Driver

修改启动脚本

由于docker的容器化本质上进程而不是虚拟机,所以原有启动脚本的nohuo会导致docker认为任务已经执行完毕,从而退出,故而需要修改

在startStop 的case方法中添加如下命令

  1. (start_docker)
  2. [ -w "$DDH_PID_DIR" ] || mkdir -p "$DDH_PID_DIR"
  3. if [ -f $pid ]; then
  4. if kill -0 `cat $pid` > /dev/null 2>&1; then
  5. echo $command running as process `cat $pid`. Stop it first.
  6. exit 1
  7. fi
  8. fi
  9. echo starting $command, logging to $log
  10. exec_command="$DDH_OPTS -classpath $DDH_CONF_DIR:$DDH_LIB_JARS $CLASS"
  11. echo "nohup $JAVA $exec_command > $log 2>&1 &"
  12. $JAVA $exec_command
  13. echo $! > $pid
  14. ;;

编写dockerfile

EXPOSE是容器暴露端口,理论容器间可以访问的情况下是无需暴露,此处是官方文档中提到的端口

  1. cat > dockerfile << EOF
  2. FROM centos7_jdk8:latest
  3. WORKDIR /datasophon
  4. RUN yum install lsof -y
  5. EXPOSE 8081
  6. EXPOSE 2551-2552
  7. EXPOSE 8586
  8. EXPOSE 9100
  9. EXPOSE 8888
  10. ENV TZ=Asia/Shanghai
  11. ENV LANG=zh_CN.UTF-8
  12. CMD ["/sbin/init"]
  13. CMD ["bin/datasophon-api.sh","start_docker","api"]
  14. EOF

编译及运行

通过挂在目录的方式将数据文件放到容器中,方便我们在宿主机上进行修改,但只暴露所需的8081端口到宿主机

  1. cat > build.sh << EOF
  2. #!/bin/bash
  3. docker stop datasophon
  4. docker rm datasophon
  5. docker rmi datasophon:v1.2.0
  6. docker build /home/datasophon/docker -t datasophon:v1.2.0
  7. docker run -it -d -v /home/datasophon/docker/datasophon-manager-1.2.0:/datasophon -v /home/datasophon/docker/packages:/opt/datasophon -p 8081:8081 --privileged --name datasophon datasophon:v1.2.0
  8. EOF
  9. chmod +x build.sh
  10. ./build.sh

访问 http://dockerhost:8081/ddh

后续已有打包好的docker-compose模式,将在下期发布,镜像已上传至阿里云(因为是私仓,所以下载速度和并发会有点拮据)

docker pull registry.cn-shanghai.aliyuncs.com/datasophon/datasophon:v1.2.0

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/455555
推荐阅读
相关标签
  

闽ICP备14008679号