gpt4 book ai didi

docker - 无法设置本地主机。这样可以防止创建GUID

转载 作者:行者123 更新时间:2023-12-02 19:34:37 29 4
gpt4 key购买 nike

我正在努力解决以下问题。我们有一个可以在Docker上正常运行的Java应用程序。现在,当我们尝试将应用程序迁移到Docker Swarm(作为服务运行)时,它始终会引发以下异常:

 Cache - Unable to set localhost. This prevents creation of a GUID. Cause was: 39bc5cdfb3d9: 39bc5cdfb3d9: Name or service not known
java.net.UnknownHostException: 39bc5cdfb3d9: 39bc5cdfb3d9: Name or service not known

注意 39bc5cdfb3d9是容器ID。

我尝试了以下方法:

针对我们正在使用的DNS的
  • curl
  • 更新另一台服务器正在备份的nginx配置

  • 建立:
  • 3马槽
  • 容器仅在2个服务器app1.dev和app2.dev上运行,它具有约束label = dev
  • 使用默认的网络入口

  • DNS:dev-ecc.toroserver.com
    我使用以下命令运行服务:
         docker service create \
    ${HTTP} \
    ${HTTPS} \
    ${VOLUMES} \
    ${ENV_VARS} \
    ${LICENSE} \
    ${LOGS} \
    --limit-memory 768mb \
    --mode=global \
    --constraint 'engine.labels.serverType == dev' \
    --env appName="${SUB_DNS}" \
    --name="${SUB_DNS}" \
    --restart-condition on-failure --restart-max-attempts 5 \
    --with-registry-auth \
    ${DOCKER_REGISTRY}/${DOCKER_USER}/${APPNAME}:${VERSION}

    另外,每次尝试登录时都会遇到此错误,它将自动注销 session ,不确定是否与该错误有关。无法设置本地主机
    2017-11-08 03:25:56,771 [ INFO] AjaxTimeoutRedirectFilter - User session expired or not logged in yet
    2017-11-08 03:25:56,771 [ INFO] AjaxTimeoutRedirectFilter - User session expired or not logged in yet
    2017-11-08 03:25:56,778 [ INFO] AjaxTimeoutRedirectFilter - Redirect to login page
    2017-11-08 03:25:56,778 [ INFO] AjaxTimeoutRedirectFilter - Redirect to login page
    2017-11-08 03:30:36,822 [ INFO] AjaxTimeoutRedirectFilter - User session expired or not logged in yet
    2017-11-08 03:30:36,822 [ INFO] AjaxTimeoutRedirectFilter - User session expired or not logged in yet

    任何见解将不胜感激。谢谢。

    最佳答案

    缓存-无法设置本地主机”看起来是EHCache project的常见错误消息。在代码中发现这一点表明,这是调用Java网络库的java.net.InetAddress.getLocalHost()方法的结果,该方法查找本地主机名,然后尝试通过DNS将其解析为IP地址。

    快速的本地测试表明,此方法既适用于docker run,也适用于我的单节点Swarm上的服务。鉴于您提到要测试DNS,也许此时需要有关特定Swarm设置(尤其是网络)的更多信息,以了解为什么您会得到不同的行为。显然,如果您拥有自己的DNS,则按照上述方法,容器的默认名称必须可由DNS查找来解析,否则您将继续获得Java UnknownHostException

    关于docker - 无法设置本地主机。这样可以防止创建GUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47149583/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com