原本我是非host模式启动的docker容器,完全没毛病。quartz可以正常启动。
但是,我想尝试用host模式启动。于是就出现了 问题:
服务启动时quartz会报错误:

org.quartz.SchedulerException: Couldn’t get host name!

查询了几个资料,都说只需要在/etc/hosts里添加当前host主机的名称即可。
比如下面这个帖子:
https://blog.csdn.net/Keith_12138/article/details/110450531

然而,我添加了并没有用。
最后看到compose.yml中每个服务还可以配置hostname信息。
在这里插入图片描述
于是,我把这个信息配置进去。

version: "3"

services:
  myservername:
    container_name: myserver01_container
    hostname: localhost
    image: myimage
    env_file:
      - ./env/my.env
    volumes:
      - ../data1:/data1
      - ./logs:/logs
    entrypoint: java -jar /app.jar
    ports:
      - "9502:9501"
    network_mode: "host"
    restart: on-failure

这样我的容器就又可以正常启动了。
quartz也不报错了。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐