打包Linux下influxdb初始化镜像

更新时间:

1、创建容器初始化命令脚本

创建用于容器初始化的运行脚本,例如取名为init.sh,在脚本中添加influxdb创建数据库的命令,如下:

  1. #!/bin/bash --login
  2. USER="{这里填写配置的数据库访问用户名}"
  3. PASSWORD="{这里填写配置的数据库访问密码}"
  4. SERVICENAME="{这里填写配置的数据库访问服务名}"
  5. DBNAME="{这里填写配置的数据库名称}"
  6. curl -XPOST "http://${SERVICENAME}:8086/query?u=${USER}&p=${PASSWORD}" --data-urlencode "q=CREATE DATABASE \"${DBNAME}\""

注意:
1、在脚本头部需要使用#!/bin/bash --login注明脚本加载模式,确保容器内的环境变量可以被应用正常获取。
2、Influxdb的访问信息需要与应用配置中的Influxdb部署节点中的配置保持一致。

2、创建Dockerfile文件


基础镜像根据业务需要自行设置。

  1. FROM maven:3.5-jdk-8
  2. COPY init.sh /init.sh
  3. RUN chmod 777 /init.sh
  4. RUN chmod +x /init.sh
  5. # 设置系统的字符集,注意不同的基础镜像安装的字符集有差异,需要自行调整
  6. ENV LANG=C.UTF-8
  7. ENTRYPOINT ["/bin/bash","-c","/init.sh"]

3、打包镜像


最后使用docker build指令进行镜像构建,完成后推送到应用托管镜像仓库即可进行配置部署。