跳至主要內容

docker镜像化产品

2025年1月13日大约 2 分钟

docker镜像化产品

镜像构建

步骤一:编辑镜像配置文件

  1. 解压河图安装包:
unzip -d hetu hetu-2024.5.zip

提示:

hetu-2024.5.zip为河图安装包名称。

  1. 编辑Dockerfile文件:
vi Dockerfile

将以下内容复制到Dockerfile文件中:

  FROM openjdk:17.0.2-jdk 
  VOLUME /tmp
  RUN echo "Asia/Shanghai" > /etc/timezone
  RUN mkdir /hetu
  ADD hetu/data /hetu/data
  ADD hetu/lib /hetu/lib
  ADD hetu/config /hetu/config
  ADD hetu/web /hetu/web
  ADD hetu/bin /hetu/bin
  ADD hetu/plugin /hetu/plugin
  RUN chmod +x /hetu/bin/*.sh
  RUN mkdir /etc/hetu
  RUN touch /etc/hetu/license
  RUN touch /etc/hetu/dbconfig.properties
  RUN ln -s /etc/hetu/license /hetu/license
  RUN ln -s /etc/hetu/dbconfig.properties /hetu/config/dbconfig.properties
  EXPOSE 7778/tcp
  CMD /hetu/bin/start.sh && tail -f /hetu/logs/hetu_console.log
  • 按Esc键,输入:wq,保存并退出。

    提示:

    • FORM后为基础镜像名称。
    • ADD后为安装包文件的路径。
    • EXPOSE后为容器暴露的端口。
    • CMD后为容器启动时执行的命令。

步骤二:构建镜像

  • 构建镜像,命令如下:
      docker build -t hetu:2024.5 .

    提示:

    • hetu:2024.5为镜像名称和版本号,需要根据安装版本进行调整。

    • 最后有一个.,代表Dockerfile文件在当前目录下。也可指定Dockerfile的文件路径。

步骤三: 验证和运行镜像

  1. 查看镜像是否存在:
docker images

出现如下界面表示打包完成:

REPOSITORY        TAG        IMAGE ID       CREATED          SIZE
hetu              2024.5     b932d4587572   26 minutes ago   954MB
  1. 运行容器:
docker run -v /opt/hetu/work/:/hetu/work/ -v /opt/hetu/etc/config/:/etc/hetu/ -d --name hetu -p 7778:7778 hetu:2024.5

提示:

-p为端口映射,-v为宿主机的绝对路径: 容器内的绝对路径。用于数据持久化防止容器被删除后文件丢失,可根据使用具体情况进行添加。hetu:2024.5为镜像名称和版本号,需根据安装版本进行调整。

  • 查看运行日志:

    docker logs -f hetu
  • 出现如下界面表示容器运行成功:

<<太极河图数据智能分析与应用平台>>   (试用)  (v2024.5.0)
-----------------------------------------------
--  日期:2024-10-21
--  类型:标准版
--  授权:未授权
-----------------------------------------------

2024-10-21 17:29:01 HeTu start success
  1. 访问河图
  • 浏览器访问http://ip:端口/admin/index.html,如:http://localhost:7778/admin/index.html。 即可访问河图。

容器操作

  1. 停止容器:
docker stop hetu
  1. 删除容器:
docker rm hetu
  1. 重新部署河图:
  • 如需改变容器中部署的河图,需要删除当前容器重新构建镜像。

镜像操作

  1. 导出镜像
docker save -o hetu.tar hetu:2024.5
  1. 导入镜像
docker load -i hetu.tar

运行MYSQL镜像(可选)

  • 如需要使用到同服务器下的mysql数据库,可运行mysql容器:
    docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=hetu_mysql -p 3306:3306 -d mysql:8.4.2

    提示:

    --name为容器名称,-p为端口映射,-e MYSQL_ROOT_PASSWORD后设置mysql密码,-e MYSQL_DATABASE后设置创建的数据库名称。

上次编辑于: 2025/2/11 14:42:45
贡献者: zhangshuaic