【问题标题】:Strange error with a JHipster app in a microservices architecture and Docker up微服务架构和 Docker 中的 JHipster 应用程序出现奇怪错误
【发布时间】:2018-12-20 09:19:30
【问题描述】:

我已经用 JHipster 5.0.1 版本生成了一个应用程序。该应用有 4 个组件:

  • 用于用户记账和授权的 UAA 应用
  • JHipster Registry 应用程序
  • 网关应用
  • 一个简单的微服务

我已按照文档中的所有步骤进行操作,包括创建 docker compose 文件的步骤。但是,当我想运行 docker-compose up 时,我的自定义组件的拉取权限出现了一些错误。

这是日志

compose.cli.verbose_proxy.proxy_callable: docker inspect_image http://localhost:None“GET /v1.22/images/chipgames/json HTTP/1.1”404 60 compose.service.pull: 拉出chipgames-app (chipgames:)... compose.cli.verbose_proxy.proxy_callable: docker pull https://index.docker.io/v1/”的身份验证条目 docker.auth.get_config_header:找到授权配置 urllib3.connectionpool._make_request: http://localhost:None "POST /v1.22/images/create?tag=latest&fromImage=chipgames HTTP/1.1" 404 91

我正在运行 docker 服务,我也在 docker hub 中创建了一个存储库,但我不明白错误。

编辑:

这是我的 docker-compose.yml

version: '2'
services:
    appuaa-app:
        image: appuaa
        environment:
            - SPRING_PROFILES_ACTIVE=prod,swagger
            - EUREKA_CLIENT_SERVICE_URL_DEFAULTZONE=http://admin:$${jhipster.registry.password}@jhipster-registry:8761/eureka
            - SPRING_CLOUD_CONFIG_URI=http://admin:$${jhipster.registry.password}@jhipster-registry:8761/config
            - SPRING_DATA_MONGODB_URI=mongodb://appuaa-mongodb:27017
            - SPRING_DATA_MONGODB_DATABASE=appuaa
            - JHIPSTER_SLEEP=30
            - SPRING_DATA_ELASTICSEARCH_CLUSTER_NODES=appuaa-elasticsearch:9300
            - JHIPSTER_REGISTRY_PASSWORD=;nddeanb
    appuaa-mongodb:
        image: mongo:3.6.3
    appuaa-elasticsearch:
        image: elasticsearch:5.6.5
        command: -Enetwork.host=0.0.0.0 -Ediscovery.type=single-node

    chipagames-app:
        image: chipagames
        environment:
            - SPRING_PROFILES_ACTIVE=prod,swagger
            - EUREKA_CLIENT_SERVICE_URL_DEFAULTZONE=http://admin:$${jhipster.registry.password}@jhipster-registry:8761/eureka
            - SPRING_CLOUD_CONFIG_URI=http://admin:$${jhipster.registry.password}@jhipster-registry:8761/config
            - SPRING_DATASOURCE_URL=jdbc:postgresql://chipagames-postgresql:5432/chipagames
            - JHIPSTER_SLEEP=30
            - JHIPSTER_REGISTRY_PASSWORD=;nddeanb
        ports:
            - 8080:8080
    chipagames-postgresql:
        image: postgres:9.6.5
        environment:
            - POSTGRES_USER=chipagames
            - POSTGRES_PASSWORD=

    users-app:
        image: users
        environment:
            - SPRING_PROFILES_ACTIVE=prod,swagger
            - EUREKA_CLIENT_SERVICE_URL_DEFAULTZONE=http://admin:$${jhipster.registry.password}@jhipster-registry:8761/eureka
            - SPRING_CLOUD_CONFIG_URI=http://admin:$${jhipster.registry.password}@jhipster-registry:8761/config
            - SPRING_DATASOURCE_URL=jdbc:postgresql://users-postgresql:5432/users
            - JHIPSTER_SLEEP=30
            - SPRING_DATA_ELASTICSEARCH_CLUSTER_NODES=users-elasticsearch:9300
            - JHIPSTER_REGISTRY_PASSWORD=;nddeanb
    users-postgresql:
        image: postgres:10.4
        environment:
            - POSTGRES_USER=users
            - POSTGRES_PASSWORD=
    users-elasticsearch:
        image: elasticsearch:5.6.5
        command: -Enetwork.host=0.0.0.0 -Ediscovery.type=single-node

    jhipster-registry:
        extends:
            file: jhipster-registry.yml
            service: jhipster-registry

    jhipster-elasticsearch:
        extends:
            file: jhipster-console.yml
            service: jhipster-elasticsearch
    jhipster-logstash:
        extends:
            file: jhipster-console.yml
            service: jhipster-logstash
        depends_on:
            - jhipster-elasticsearch
    jhipster-console:
        extends:
            file: jhipster-console.yml
            service: jhipster-console
        depends_on:
            - jhipster-elasticsearch
    jhipster-import-dashboards:
        extends:
            file: jhipster-console.yml
            service: jhipster-import-dashboards
        depends_on:
            - jhipster-elasticsearch
    jhipster-zipkin:
        extends:
            file: jhipster-console.yml
            service: jhipster-zipkin
        depends_on:
            - jhipster-elasticsearch

【问题讨论】:

  • 您应该发布您的 docker-compose 或一些附加信息,例如入口点命令、一些配置、环境、dockerfiles...
  • 我已经添加了我的 docker-componse.yml 文件
  • 看起来command:在几个服务中只有参数而不是二进制。
  • 但错误显示ERROR: compose.cli.errors.log_api_error: pull access denied for appuaa, repository does not exist or may require 'docker login'

标签: docker docker-compose microservices jhipster


【解决方案1】:

我猜你有私有存储库。 如果它是私有存储库,则 pull 需要 docker 登录凭据。 请点击此链接:https://ropenscilabs.github.io/r-docker-tutorial/04-Dockerhub.html

这样你就可以拉取 Docker 镜像了。

【讨论】:

    【解决方案2】:

    问题是 docker 正在寻找您的图像 appuaa、chipagames。这是因为您没有在本地构建它们,而 docker 正在寻找已知的存储库,例如 hub.docker,但没有成功。

    您应该使用

    构建您的应用程序
    ./mvnw -Pprod package dockerfile:build
    

    ./gradlew -Pprod build buildDocker
    

    然后再次尝试docker-compose up

    【讨论】:

    • 我在运行 docker-compose 之前运行了 ./gradlew -Pprod build buildDocker
    • 你在docker images时看到“appuaa”和“chipgames”了吗?
    • 不,我看不到它们。事实上,如果尝试使用单个组件(用户)运行 docker-compose,我会遇到同样的错误
    • 这意味着./gradlew -Pprod build buildDocker 它构建的图像与您的撰写文件中记录的图像不同。公关构建过程出错。通过检查项目根目录中的/gradle/docker.gradle来检查生成的docker镜像的名称
    猜你喜欢
    • 2016-11-22
    • 2018-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    • 2017-10-11
    • 2019-04-20
    • 2014-12-25
    相关资源
    最近更新 更多